STM32F407IG 有两个spi线控制的器件 ,两个器件的CLK MOSI MISO都接同样的线 片选信号cs1和cs2不同,CS1接PB12 CS2接PC8 同样的配置 如下
typedef struct
{
GPIO_TypeDef* Group;
GPIO_InitTypeDef Mod;
}SPI_CFG;
SPI_CFG CS1={ GPIOB,{GPIO_Pin_12,GPIO_Mode_OUT,GPIO_Speed_50MHz,GPIO_OType_PP,GPIO_PuPd_UP}};
SPI_CFG CS2={ GPIOC,{GPIO_Pin_8,GPIO_Mode_OUT,GPIO_Speed_50MHz,GPIO_OType_PP,GPIO_PuPd_UP}};
void Init(SPI_CFG* Info)
{
GPIO_Init(Info->Group,&Info->Mod);
GPIO_SetBits(Info->Group,Info->Mod.GPIO_Pin);
delay_us(10);
GPIO_ResetBits(Info->Group,Info->Mod.GPIO_Pin);
}
其中配置Init(&CS1)可正常输出高低电平 ,配置Init(&CS2)则一直为高电平,请问这个是哪里的问题请大师们不吝赐教
,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
1)IO口要时钟打开。
2)IO口模式要配置正确
3)SPI时钟要打开。
4)SPI初始化,极性等等参数要设置对。你的通信不成功,有可能参数不匹配
5)使能
一周热门 更多>