单片机串口接收发生溢出中断错误

最近在写国产华大单片机HC32F4A0的串口超时中断加DMA接收数据过程中发现一个问题,在我串口收到数据进入串口超时中断后,正常情况下,如果数据量没超过DMA设定的发送次数最大情况,是能接收数据的,但是一旦接收超过最大发送次数后,DMA就一直接收不到数据了,经过各种尝试,最后发现串口一直会进入溢出中断中,清除了中断标志位也没用,后来猜测可能是串口最后的数据DMA没有接收成功,导致UART接收数据寄存器没有被处理,所以一直进入溢出中断,后来在UART超时中断中最后加上读取UART接收数据寄存器,这样就能解决这个问题。

版权声明:本文为CSDN博主「hongprove」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hongprove/article/details/122235938

最近在写国产华大单片机HC32F4A0的串口超时中断加DMA接收数据过程中发现一个问题,在我串口收到数据进入串口超时中断后,正常情况下,如果数据量没超过DMA设定的发送次数最大情况,是能接收数据的,但是一旦接收超过最大发送次数后,DMA就一直接收不到数据了,经过各种尝试,最后发现串口一直会进入溢出中断中,清除了中断标志位也没用,后来猜测可能是串口最后的数据DMA没有接收成功,导致UART接收数据寄存器没有被处理,所以一直进入溢出中断,后来在UART超时中断中最后加上读取UART接收数据寄存器,这样就能解决这个问题。

版权声明:本文为CSDN博主「hongprove」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hongprove/article/details/122235938

生成海报
点赞 0

hongprove

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

HAL库中断下降沿解决编码器问题方案

EC11旋转编码器 下降沿中断触发判断正反转问题解决方案 首先上一张旋转编码器的电平逻辑图: 先说一下思路:A引脚我设置了下降沿中断触发,B引脚设置了读输入。当A引脚出现由高电平向低电平转换的现象&

基于STM32F4系列 之 霍尔编码器减速直流电机

文章目录 前言一、关于编码器介绍二、编码器工作原理三、编码器电机配置四、代码配置五、实验工程链接前言 这篇博文为作者实验经历写下的笔记,借鉴学习了多位博主的博文,并总结了互联网资料。本篇使用的是JGB37-520减

STM32硬件CRC的使用

STM32硬件CRC的使用 STM32硬件的CRC不占用MCU的计算资源,和软件查表计算消耗的存储空间。但其结果与平常使用的CRC不一样,导致很多人还是在用软件计算CRC。 其实结果的差别,只是由于计