【发布时间】:2018-02-01 21:51:08
【问题描述】:
我正在尝试使用 HAL_SPI_Transmit(.) 进行 16 位数据传输。
我已经将使用 STM32Cube 的 SPI 配置为 16 位数据大小
(与hspi2.Init.DataSize = SPI_DATASIZE_16BIT)。
我尝试发送 16 位数据:
uint16_t DataToSend[10]={...};
HAL_SPI_Transmit(&hspi2,DataToSend, 2,TIMEOUTSPI);
但是函数HAL_StatusTypeDef HAL_SPI_Transmit(SPI_HandleTypeDef *hspi, uint8_t *pData, uint16_t Size, uint32_t Timeout)需要专门针对uint8_t*,它返回如下错误:
error: #167: argument of type "uint16_t *" is incompatible with parameter of type "uint8_t *"
那么如何使用HAL_SPI_Transmit() 发送 16 位数据?
我找到了这个link,但只讨论了这个错误,而不是使用该功能的方式。所以我的问题仍然存在。
我已经搜索了网络没有任何运气。 我对 STM32 比较陌生,所以答案对你来说可能很明显。
【问题讨论】:
标签: c stm32 spi stm32f4discovery stm32f4