STM32 芯片集成了专门用于 SPI 协议通讯的外设。
通讯引脚:SPI 硬件架构从 MOSI、MISO、SCK 及 NSS 线展开;STM32 芯片有多个 SPI 外设,它们的 SPI 通讯信号引出到不同的 GPIO 引脚上,使用时必须配置到这些指定的引脚。
SPI1是APB2上的设备,最高通信速率36Mbtis/s,SPI2、SPI3 是 APB1上的设备,最高通信速率18Mbits/s。
SPI3 用到了下载接口的引脚,这几个引脚默认功能是下载,如果想使用 SPI3 接口,则程序必须禁用这几个IO 口的下载功能。
了解stm32 SPI架构,主要了解的是寄存器之间运作的联系。
控制寄存器(CR1/CR2):
整体控制逻辑负责协调整个SPI 外设,控制逻辑的工作模式通过控制寄存器(CR1/CR2)的参数改变,基本的控制参数包括SPI 模式、波特率、LSB 先行、主从模式、单双向模式等。数据帧长度可以通过控制寄存器 CR1的DFF 位配置 成 8 位及 16 位模式。
通过配置控制寄存器CR的CPOL 位、CPHA位,可以把 SPI 设