11.3.1 SPI句柄和初始化
更新于 2026年10月10日
版权声明
11.3.1 SPI句柄和初始化
1.SPI句柄定义
SPI的句柄用SPI_HandleTypeDef定义,用于对SPI的配置。该结构体定义如下。


SPI的句柄SPI_HandleTypeDef在所有SPI相关的HAL库函数中均有使用,因此在应用相关函数之前,要先用句柄对SPI进行配置。
2.SPI初始化
SPI模块的初始化是通过结构体SPI_InitTypeDef来完成的,包括定义SPI的工作模式、数据帧格式、时钟极性、时钟相位、片选、波特率、数据传输开始位、CRC校验和数据宽度设置,定义如下。

主要语句功能如下。
①Mode:SPI操作模式,有主、从两种模式。

②Direction:双向模式状态,有以下3种配置。

③DataSize:数据宽度,有以下两种设置。(https://www.daowen.com)

④CLKPolarity:时钟极性,有低电平和高电平两种极性设置。

⑤CLKPhase:时钟相位,有两个时钟相位设置。

⑥CS:片选引脚配置,有以下3种配置方式。

⑦BaudRatePrescaler:波特率,根据系统时钟分频,有以下8种波特率可设置。

⑧FirstBit:首位传输,有以下两种设置方式。

⑨CRCCalculation:CRC配置,使能和禁止。

⑩CRCPolynomial:指定CRC多项式项数,可设置为1~65 535。