发新帖我要提问
12
返回列表
打印

关于串口FIFO的使用

[复制链接]
楼主: djz1992
手机看帖
扫描二维码
随时随地手机跟帖
21
djz1992|  楼主 | 2016-7-11 12:41 | 只看该作者 回帖奖励 |倒序浏览
angerbird 发表于 2016-7-11 11:59
这个具体的怎样操作的?我参考下的

你说哪个?fifo的深度设置吗?

使用特权

评论回复
22
smilingangel| | 2016-7-11 17:19 | 只看该作者
FIFO的机制的问题还是比较好理解的。

使用特权

评论回复
23
djz1992|  楼主 | 2016-7-12 08:14 | 只看该作者
smilingangel 发表于 2016-7-11 17:19
FIFO的机制的问题还是比较好理解的。

深度为8的话,我只收到一个字节的时候也可以进中断读取到
但是手册上写的是“举例来说,若设置接收FIFO的触发深度为1/4,则当UART连续收到4个数据字节后即会产生一个接收中断。”
这不是说满了四个才会触发中断么,为什么我只收到一个也会触发中断

使用特权

评论回复
24
Rollo| | 2016-7-12 21:31 | 只看该作者
FIFO没有引起中断,程序就运行完了

使用特权

评论回复
25
JasonWangSE| | 2016-7-13 15:34 | 只看该作者
接收应该是有两个中断,一是超出FIFO水线中断,也就是说接收的数据高于你配置的FIFO水线了就会上报中断;另一个是接收超时中断,就是FIFO中有接收的数据,但是超出一定时间软件没有去读取也会上报中断

使用特权

评论回复
26
i1mcu| | 2016-7-13 16:36 | 只看该作者
默认保存8个字节。

使用特权

评论回复
27
i1mcu| | 2016-7-13 16:38 | 只看该作者
fifo就是读取读取速度不够的时候才用的。

使用特权

评论回复
28
djz1992|  楼主 | 2016-7-15 14:20 | 只看该作者
JasonWangSE 发表于 2016-7-13 15:34
接收应该是有两个中断,一是超出FIFO水线中断,也就是说接收的数据高于你配置的FIFO水线了就会上报中断;另 ...

是这样啊,如果是这样倒是可以解释这个现象

使用特权

评论回复
29
309030| | 2016-7-15 17:12 | 只看该作者
可能是中断被关闭了

使用特权

评论回复
30
jimmhu| | 2016-7-15 17:28 | 只看该作者
现在有很多的fifo芯片呢。

使用特权

评论回复
31
jimmhu| | 2016-7-15 17:30 | 只看该作者
读取速度太慢的可以考虑。

使用特权

评论回复
32
xyz549040622| | 2019-3-24 17:47 | 只看该作者
djz1992 发表于 2016-6-27 08:43
也就是没有及时把缓冲区的数据读出来,下一段数据来就会把之前的覆盖掉?
那这么说fifo深度越深越好了?
...

很久以后才看到你的这个帖子,你确定收到两个也会进中断?不应该吧

使用特权

评论回复
33
djz1992|  楼主 | 2019-4-3 09:41 | 只看该作者
xyz549040622 发表于 2019-3-24 17:47
很久以后才看到你的这个帖子,你确定收到两个也会进中断?不应该吧

我都忘了是什么时候写的这个帖子了,三年了。。。大神好

使用特权

评论回复
34
comparison| | 2019-4-3 15:37 | 只看该作者
我一般都是用自己做的环形缓冲区。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则