打印

如何清除接受FIFO中的数据

[复制链接]
590|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rollo|  楼主 | 2016-10-31 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在F28035最小系统板子上开发一个DA卡系统,一块板子发送数据,另一块板子接收数据,需要通过发送和接收FIFO收发数据,接受和发送FIFO都能存放4个字节的数据,所以我的设计的是接收FIFO每接收到4个字节数据就产生一个接收中断读取FIFO中的数据。但是这样的话会有缺陷,如果发送数据和接收数据都在不间断进行,数据收发都不会产生错误,如果中断,比如信号传输线断开又连接上,这时候数据接收就会错误,我的解决方法是每当发送一个数据块(4个字节)时,就对接收FIFO进行清空,这样就不会因数据接收错位而错误接收数据了,问题出来了,如何有效的清空FIFO?

相关帖子

沙发
Bjorn| | 2016-10-31 21:08 | 只看该作者
队头和队尾指针重合

使用特权

评论回复
板凳
Thorald| | 2016-10-31 21:22 | 只看该作者
FIFO是一个寄存器,没有什么指针啊

使用特权

评论回复
地板
Soraka| | 2016-10-31 21:36 | 只看该作者

不管内容,只动指针。

使用特权

评论回复
5
Brand2| | 2016-10-31 21:50 | 只看该作者
ScibRegs.SCIFFRX.bit.RXFIFORESET=0;       //复位FIFO指针为0
ScibRegs.SCIFFRX.bit.RXFIFORESET=1;       //重新启用FIFO

这样岂不是更简单?

使用特权

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

本版积分规则

115

主题

730

帖子

1

粉丝