SPI 是一种全双工的高速串行通信协议,常用于与传感器、显示屏等外设通信。
SPI初始化
配置 SPI 外设:
c
复制代码
SPI_HandleTypeDef hspi1;
// 配置 SPI1
hspi1.Instance = SPI1;
hspi1.Init.Mode = SPI_MODE_MASTER; // 设置为主模式
hspi1.Init.Direction = SPI_DIRECTION_2LINES; // 双线模式
hspi1.Init.DataSize = SPI_DATASIZE_8BIT; // 8 位数据
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; // 时钟空闲低电平
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; // 数据采样在时钟的第一个边沿
hspi1.Init.NSS = SPI_NSS_SOFT; // 软件控制 NSS 引脚
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16; // 波特率分频
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; // 先发送 MSB
hspi1.Init.TIMode = SPI_TIMODE_DISABLE; // 禁用 TI 模式
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; // 禁用 CRC 校验
HAL_SPI_Init(&hspi1);
|