STM32 HAL 库 串口DMA+空闲中断 上电后接收到的首帧数据全为0的问题
·
1 软硬件平台
硬件平台:STM32F429
软件版本:STM32F4xx HAL Driver Version V1.7.12
为减少进入中断的次数,串口接收采用DMA+空闲中断的方式。
2 故障现象及解决办法
每次上电后,串口在接收到第一帧数据后,能够进入串口空闲中断,但是缓冲区接收到的数据全部都为0,第二帧及以后接收的数据正确。

尝试过各种方法后,发现HAL_UART_MspInit 中最后两行代码位置不对。

将其移动到 while(1) 前面。

串口接收正常。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)