STM32F4 SPI双机通讯调试总结
1。如果查询方式进行数据收发,不管是Master,还是Slave,流程如下:(假设收发n+1个字节)
a。等待TXE,写入一个字节
b。等待TXE,写入一个字节
c。等待RXNE,读取一个字节
循环b,c两个步骤n次
d。等待RXNE,读取一个字节
2。如果是DMA中断方式收发数据,不管是Master,还是Slave,需要注意:
a。不要在DMA发送Stream的中断中重新启动DMA发送
b。应该在DMA接收Stream中断后,同时启动收发DMA
3。如果设置SPI时钟空闲电平为高电平,则应该设置SCK引脚上拉,如果SPI时钟空闲电平为低电平,则应该设置SCK引脚下拉
本人建议将Master的SCK,MISO,MOSI引脚设置为上拉,Slave的设置为OD,SPI时钟空闲电平为高电平