- 博客(1)
- 收藏
- 关注
原创 在stm32上使用HAL_SPI_TransmitReceive_DMA做数据传输时,在回调函数中使用HAL_Delay会让程序卡死
使用了HAL的HAL_SPI_TransmitReceive_DMA函数,该函数负责实现SPI通讯,并在实现后会调用一个叫做HAL_SPI_TxRxCpltCallback的回调函数。如果在HAL_SPI_TxRxCpltCallback使用HAL_Delay函数,程序便会一直卡死。如上图灯一直在亮,程序也没有离开回调函数而是卡死在Hal_delay。很有趣的现象,但是本人知识水平匮乏,不知道原因是什么。:理论上在完成通讯后,会点亮一个LED灯0.5S,接着熄灭。但是程序却卡在了这里,灯并没有熄灭。
2024-02-14 21:54:47 884 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人