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。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)