SPI求助 希望大师们不吝赐教

2019-07-21 01:37发布

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)则一直为高电平,请问这个是哪里的问题请大师们不吝赐教
,谢谢!






友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
Admin
1楼-- · 2019-07-21 02:59
参考我们视频,有几个要点:
1)IO口要时钟打开。
2)IO口模式要配置正确
3)SPI时钟要打开。
4)SPI初始化,极性等等参数要设置对。你的通信不成功,有可能参数不匹配
5)使能
龙之谷
2楼-- · 2019-07-21 05:27
 精彩回答 2  元偷偷看……
emWin
3楼-- · 2019-07-21 11:07
没看到时钟打开,你确认下GPIO时钟开启了。

一周热门 更多>