最近调试AD芯片 spi一直调试不出,最后发现是发送和接受不能和原子一样发送一个同时接收一个,在接收中已经发送了一次数据。
所以这样写HAL_SPI_TransmitReceive(&hspi1, (uint8_t*)&TxData, (uint8_t )&retry, 1,1000);这个函数是无法接收到数据
HAL_SPI_Transmit(&hspi1, (uint8_t)&TxData,1,1000); //通过外设SPIx发送一个数据
HAL_SPI_TransmitReceive(&hspi1, (uint8_t*)&TxData, (uint8_t *)&retry, 1,1000);
这样写是接收一半数据。这个问题会不会在其他spi设备中存在,目前oled的spi没有这个情况。
cubemx spi库
最新推荐文章于 2024-08-09 12:46:07 发布