在处理ORE问题时候,通常会判断开启ORE,如果溢出就清除中断,
但是这确实扬汤止沸的方式,没有从根本上解决问题。
所以我想记录一下这个扬汤止沸的方式和一些心得。
ORE出现的原因是,当收到数据,RXNE被置位,收到数据。
只有当RXNE被清之后,只能从位移寄存器转移到RDR寄存器,才能被读出来。
如果RXN被置位,但是下一个数据已经到来。这时候就要产生ORE置位了。
当遇到中断中有很多业务逻辑和状态机。存在不能及时处理的怎么办。
清空标志位,可以先放一个缓存,然后用缓存处理。
但是逻辑千变万化。不一定存在定式。还需要多思考。多总结

本文探讨了嵌入式系统中ORE问题的根源及处理方法。ORE问题源于数据接收时的缓冲区溢出,文章介绍了如何通过设置中断来应对这一情况,并提出了使用缓存作为临时解决方案的思路。然而,这仅是治标不治本的方法,解决根本问题还需深入理解通信机制。

8370

被折叠的 条评论
为什么被折叠?



