gd32 串口进入USART_INT_FLAG_ERR_ORERR中断,请问这是什么原因造成的?
时间: 2023-09-15 14:20:21 浏览: 337
Eclipse GD32 环境下无法进入中断问题解决
USART_INT_FLAG_ERR_ORERR中断表示串口出现了溢出错误,这通常是由于接收数据的速度太慢导致缓冲区溢出引起的。你需要检查以下几个方面:
1. 检查串口接收数据的速度是否与发送数据的速度相匹配。如果发送数据的速度比接收数据的速度快,就有可能导致缓冲区溢出。
2. 检查串口缓冲区的大小是否足够。如果缓冲区大小不够,就容易出现缓冲区溢出。
3. 检查串口中断是否正确配置。如果串口中断配置不正确,也有可能导致缓冲区溢出。
4. 检查代码实现是否存在 bug。例如,可能存在某些情况下,没有及时清空串口缓冲区或者错误处理缓冲区溢出的情况。
通过以上的检查,你应该能找到造成USART_INT_FLAG_ERR_ORERR中断的原因。
阅读全文