码迷,mamicode.com
首页 > 其他好文 > 详细

串口同时收发数据卡死问题

时间:2019-06-13 15:41:10      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:发送   间隔   image   通过   判断   uart   最小   nbsp   com   

技术图片

 

技术图片

单片机发送数据时最后会通过等待发送空标志位来等待数据发送完成,即通过uart往外发数据时,会通过“while(TI==0);”卡死等待数据发送完成,若在数据发送完成后,先进入UART发送完成中断,会将TI标志清零,这个 时候,程序就会卡死在“while(TI==0);”,您可以在“while(TI==0);”加入超时判断机制,当超过一定的时间如果还没有等到TI标志置1,就强制退出“while(TI==0);”。此方法不好控制时间计时的最小间隔。可在中断函数中不清除TI标志位,在数据发送完成后由硬件清零。

 

串口同时收发数据卡死问题

标签:发送   间隔   image   通过   判断   uart   最小   nbsp   com   

原文地址:https://www.cnblogs.com/jt930413/p/11016634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!