[ZLG-MCU] 关于 LM3SXXX UART Timeout 中断的疑惑

[复制链接]
4438|8
 楼主| AIRWILL 发表于 2007-11-27 14:16 | 显示全部楼层 |阅读模式
资料上讲到&nbsp;这个接收超时的中断<br />却没有说明怎么才会出现这样的中断?<br /><br />什么是接收超时,&nbsp;为什么会超时,&nbsp;这计时器在什么时候开始计时?&nbsp;超时值怎么设定,&nbsp;保存在哪里?
 楼主| AIRWILL 发表于 2007-11-28 16:39 | 显示全部楼层

好象很多资料没有提到嘛

  
逐风 发表于 2007-11-28 21:50 | 显示全部楼层

超时

会不会你UART接收时被其他中断占先了,就可能引起超时吧
tangqin 发表于 2007-11-29 10:32 | 显示全部楼层

nop

超时的概念是硬件系统之间的应答,如果在指定的时间内没有收到应鹪蚴游
zlgmcu 发表于 2007-11-29 15:35 | 显示全部楼层

超时的时间值数据手册上没有给出

我们测得约相隔3个字符,这个接收超时的概念一般在有接收FIFO的单片机才会出现。<br />&nbsp;&nbsp;&nbsp;&nbsp;例如,如果接收FIFO数据触发中断的值为6个字节,当UART接收到数据时,并不马上产生中断,而是要接收到6个字节才会产生中断,然后在中断中再将数据读出。<br />&nbsp;&nbsp;&nbsp;&nbsp;这样,当接收到少于5个字节数据时,由于不产生中断,程序就不可能知道UART已经接收到数据。这样可能是很多应用中都不可以接受的。为了解决这个问题,就引进了接收超时机制。<br />&nbsp;&nbsp;&nbsp;&nbsp;接收数据少于触发接收中断的FIFO长度时,并且在一定的时间内,并没有接收到数据,就可以产生接收起时。这时程序就可以将接收到的数据读出。
 楼主| AIRWILL 发表于 2007-11-30 12:13 | 显示全部楼层

谢谢楼上

&nbsp;&nbsp;这正好又回答了我下面接着又想问的一个疑问.
21ele 发表于 2008-1-4 12:37 | 显示全部楼层

好像正好可以用于MODBUS RTU 的帧识别吧.

MODBUS&nbsp;RTU&nbsp;帧识别的条件是3.5字符时间t3.5,3个字符应该是代替了,可以节省个定时器。但是字符间隔最大时间t1.5就无法实现了,因为不是每个字符都产生中断的,就无法即时了。
 楼主| AIRWILL 发表于 2008-1-6 10:53 | 显示全部楼层

to:楼上

是啊,&nbsp;我也原想在协议的超时里使用这个功能.<br />不过看来不行了,定时看来不能省<br /><br />不让我发送.&nbsp;&quot;你着急什么,表单还没有下载完&quot;,&nbsp;什么意思呀!
zlgmcu 发表于 2008-1-7 13:42 | 显示全部楼层

Luminary的定时器多的是

如果您不使用操作系统,还可以使用SysTick系统节拍定时器.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

556

主题

17729

帖子

885

粉丝
快速回复 在线客服 返回列表 返回顶部