[ZLG-ARM] UART 中 FIFO 疑惑

[复制链接]
 楼主| MicroMMU 发表于 2007-11-16 17:02 | 显示全部楼层 |阅读模式
在启动FIFO后,发送一批数据<br /><br />第一个数据写入到“发送保持器后”&nbsp;这时候数据流向应该是&nbsp;发送保持器---FIFO寄存器---发送寄存器。请问是不是只要&nbsp;FIFO没满“发送保持器空”都为1?我调试中发现并不是这样。但是我在AVR中是这样的。<br /><br /><br />
gumanzhou 发表于 2007-11-16 19:46 | 显示全部楼层

个人意见

<br />&quot;请问是不是只要&nbsp;FIFO没满“发送保持器空”都为1?&quot;<br />数据手册上好像不是你这样说的^^^^<br />我的理解是只要有&quot;有效数据&quot;存在“发送保持器空”都就为0.
 楼主| MicroMMU 发表于 2007-11-17 00:02 | 显示全部楼层

如果使用中断发送就没有优势了。

内部16个FIFO如何填满
hotpower 发表于 2007-11-17 00:38 | 显示全部楼层

LPCARM串口无限FIFO应用举例及祥解

  <br /> 相关链接:<a href='http://www.**/blog/hotpower/14980/message.aspx'>http://www.**/blog/hotpower/14980/message.aspx</a>
 楼主| MicroMMU 发表于 2007-11-17 14:36 | 显示全部楼层

明白了,

一句话,在FIFO使能情况下只要发送保持空就可以最大强灌16个字节。<br /><br />呵呵,还是不是很好,这样是节省了CPU中断时间,<br />但如果系统任务多,且很忙,如果优先级较低对实时性影响也较大,可能出现字节间会有间隔。<br />应该搞成FIFO中少于多少个字节时触发中断。像接收那样,最大14个字节触发留下2个来防止中断响应延迟而造成接收数据溢出。<br />
dld2 发表于 2007-11-17 14:45 | 显示全部楼层

呵呵5楼

中断是有代价的。处理器响应有时延,还要压栈出栈。<br />
gumanzhou 发表于 2007-11-17 20:02 | 显示全部楼层

呵呵,一点见意

只要你清楚“发送保持器空”为空,和“发送移位寄存器”为空就好用了<br /><br />这是二个不同的状态位……<br /><br /><br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

73

主题

531

帖子

1

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

73

主题

531

帖子

1

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