USART的overrun error

2020-02-08 12:17发布

我的片子是18f8722的,可能向USART2发东西太快,导致USART2上的接收缓冲有数据,中断嵌套之类的情况,没有及时将数据读走(其实我也说不准,反正是类似的情况),从而不能将中断标记清零,也不能再次接收数据或者触发接受中断。最后被我发现原来OERR这个位置一了,也就是发生了overrun error,具体这个是什么规格书也没说,这个谁碰过?要怎样防止?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
huanghaiming
1楼-- · 2020-02-08 12:44
哈,没人回啊,自顶一下。
liansh
2楼-- · 2020-02-08 13:41
OERR 接收缓冲溢出,就是之前的数据没有被读取就被后面的新数据覆盖了。
这个原因你也找到了,就是收到数据没有立刻读取。
解决要不改变串口数据处理方法,要不就降低通讯速率吧。
huanghaiming
3楼-- · 2020-02-08 16:09
受教!谢谢哈!

一周热门 更多>