s t m 3 2 s p i 硬 件 模 式

来源:互联网 发布:做美工死路一条 编辑:程序博客网 时间:2024/06/04 18:17

刚才用逻辑分析仪做了测试

时序如下
http://bbs.21ic.com/upfiles/img/20094/2009421145033856.gif

   反复试验,发现SPI_NSS引脚的自动硬件控制与想象的不同,无论是否外加上拉,只要一使能SPI,SPI_Cmd(SPI1, ENABLE); SPI_NSS引脚就一直处于低电平,直到SPI_Cmd(SPI1, DISABLE);这个需要用程序来控制。  而用过其他芯片则是发送完成自动会拉高,这点是要注意的

我说的就是做主机的时候

SPI_SSOutputCmd(SPIx,ENABLE) 在soft模式时这句话有必要吗?我的理解是当hard模式,需要multimaster的时候,才应该要开启这个output功能,这点从我的截图上可以看出。
我觉得,这里只要把SPI_InitStructure.SPI_NSS = SPI_NSS_Soft 写上,然后把对应的IO管脚设置成输出,再用
GPIO_ResetBits去拉低选择slave,通信结束后再用GPIO_SetBits去拉高告诉slave通信结束就可以了,和SPI_SSOutputCmd(SPIx,ENABLE)没有关系。

0 0
原创粉丝点击