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时钟空闲电平为高电平

 

你可能感兴趣的:(stm32)