LM3S的UART中FIFO深度选择的一点问题

[复制链接]
4255|8
 楼主| yzjgod 发表于 2012-4-26 16:29 | 显示全部楼层 |阅读模式
比如说FIFO默认的1/2满,接收中断触发,此时触发的中断是不是说接收的数据还没有全部接收完毕,只是收了4位,这样程序还要一直等待数据接收完毕。如果是这样的话,接收中断就占用了大量的程序时间,CPU的效率实在是太低了啊。

要是我理解错了,应该是怎么样子的?
谢谢
daisyly 发表于 2012-4-26 16:31 | 显示全部楼层
:L,马克一下,等结果。
yklstam 发表于 2012-4-26 16:39 | 显示全部楼层
马克一下
明天我还来 发表于 2012-4-26 17:07 | 显示全部楼层
都没碰到过,更不别深度了解了。
永远的不知 发表于 2012-4-26 17:13 | 显示全部楼层
1# yzjgod
FIFO是为了节省CPU时间的,设置为1/2满,此时,在收到4个以上字节(不是位)时会产生中断,此时需要您把数据及时取走,因为FIFO只有8个字节,超过8个字节不取走,就会丢失数据。另外,还有超时中断,比如只收到1个字节,在一定时间内未有新字节过来,也会产生中断,这样可以及时提取数据。
永远的不知 发表于 2012-4-26 17:15 | 显示全部楼层
1# yzjgod
另外也可以设置DMA自动存储数据,就完全可以解放CPU了。
 楼主| yzjgod 发表于 2012-4-27 10:05 | 显示全部楼层
哦了,我再瞅瞅固件手册怎么写的。
TI_MCU 发表于 2012-4-27 13:39 | 显示全部楼层
楼主理解有误,UART发送数据以Byte为单位的。FIFO是为了节约CPU资源设计的,所谓1/2设置的是收到一定数据后,提醒内核的时机。
binghe41 发表于 2012-7-17 22:09 | 显示全部楼层
没看明白
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

370

帖子

2

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