向从机发送数据
HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);参数hspi:SPI句柄的指针,例如&hspi1参数pData:要发送数据的指针参数Size:要发送数据的量,单位字节参数Timeout:超时时间,单位ms。HAL_MAX_DELAY表示无限长超时时间
从从机接收数据
HAL_StatusTypeDef HAL_SPI_Receive(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout);参数hspi:SPI句柄的指针,例如&hspi1参数pData:接收缓冲区的指针参数Size:要接收数据的量,单位字节参数Timeout:超时时间,单位ms。HAL_MAX_DELAY表示无限长超时时间
发送同时接收数据
HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout);参数hspi:SPI句柄的指针,例如&hspi1参数pTxData:要发送数据的指针参数pRxData:接收缓冲区的指针参数Size:要发送=接收数据的量,单位字节参数Timeout:超时时间,单位ms。HAL_MAX_DELAY表示无限长超时时间
示例:LED亮灭状态保存在Flash中
1 | void SaveLEDStatus(uint8_t ledstatus)//保存LED状态 |
1 | HAL_Delay(1000); // 等待外部 Flash 上电稳定 |