SPI是一种非常简单易用的全双工主从式通信协议。
本文使用两片STM32F429,一个作为主机,一个作为从机完成SPI的全双工通信测试。
在STM32的HAL库中简化了SPI主机端的发送接收,但是HAL库没有提供一个简单的SPI从机代码接口,这样就需要自己拼接接口来完成全双工的通信。以下都以实现全双工通信为目的进行配置和编写:
一 主机端:
禁止使用SPI的硬件片选信号,因为这个信号是SPI使能了之后就一直为低,直到禁止了SPI之后才为高。可以使用某一个普通IO来充当片选信号。
这里选用一个较低的速率来通信,在HAL库的spi头文件中有说明各个模式下SPI的最大速度。