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