关于LM3S800UART使用了FIFO后的接收超时中断

2019-03-24 10:41发布

各位坛友,我使用UART时,设置了FIFO接收中断深度,同时使能接收超时中断。请问,这个接收超时中断是什么情况下触发的?手册上有这样一句话,“当接收FIFO不为空时接收超时中断有效”。我做了一块modbus主机板,没接从机的时候,也就没有接收,这个时候没有接收超时中断;这跟那句话是对得上的,也是合理的。后来,调试好了,准备提交测试了,程序烧到另一块板上,诡异的事情出现了,没接从机,那个芯片却一直进入接收超时中断。。 因为接收中断RX和接收超时中断RT都是进入到接收处理函数里的,在接收处理函数里,我会清零通信超时计数器的;如果没有接从机也就是没有通信的时候,处理器一直有触发接收超时中断,在接收处理函数里,通信超时计数器一直清零,那通信超时就无法判断到了。 请问坛友们,有木有遇到过这么纠结的情况,如何解决呢?   此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
JohnnyLi
2019-03-25 10:04
需要等待数据发送完成,在打开接收!数据发送完成是数据在硬件端口发送完成。MODBUS的我做了很多的应用,这个要注意!

一周热门 更多>

相关问题

    相关文章