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

最近在写国产华大单片机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

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

暂无评论

发表评论

相关推荐

4.8 51单片机-PCF8591(ADC/DAC)转换芯片

4.8 PCF8591(ADC/DAC)转换芯片 4.8.1 原理图 当前实验板上没有PCF8591芯片,这里采用外接模块的形式使用。 图4-8-1 PCF8591模块实物图 图4-8-2 原理图 通过原理图得到的重要信息:

基础实验——485传感器修改地址

RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。 RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器&#xff

stm32+AMG8833+VS2015 C#上位机图像显示

设计思路 本人在电场工作,于是想做一款热成像智能控制小车,通过网上查找资料,发现AMG8833这款芯片可以说是物美价廉,基本能够实现想要的功能。因为我有一定的单片机开发基础&#xff0c