社区
驱动开发/核心开发
帖子详情
串口的RX FIFO为何总是无法被清空呢?
paopao1874
2011-07-24 02:20:02
按照常理来讲 只要读取完毕又无数据进来了,rx fifo应该就空了,但是今天遇到很郁闷的事,最后一个字符总是无限重复。
于是写串口的寄存器来reset rx fifo,结果发现,reset之后,依然会有数据,一直读fifo 就一直会有某个单一的字符,这是个啥情况呢?
...全文
819
7
打赏
收藏
串口的RX FIFO为何总是无法被清空呢?
按照常理来讲 只要读取完毕又无数据进来了,rx fifo应该就空了,但是今天遇到很郁闷的事,最后一个字符总是无限重复。 于是写串口的寄存器来reset rx fifo,结果发现,reset之后,依然会有数据,一直读fifo 就一直会有某个单一的字符,这是个啥情况呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
paopao1874
2011-07-24
打赏
举报
回复
这个ready位 是自动被清空的,前提是FIFO为空就会被自动清零
所以我在查咋判断fifo是否为空
paopao1874
2011-07-24
打赏
举报
回复
[Quote=引用 2 楼 bjtea 的回复:]
什么芯片? 清空后(不等于没有内容了),依然可以读到最后一个字符属于正常。 问题在于RI标志应该不再出现,不少芯片都是RI与TI合用一个中断,所以你要分清,是否是TI标志引起的中断。
[/Quote]
这个sc16c550 的receive data ready 和 发送的 thr empty 是分开的,现在的问题是,只要我收到数据,LSR的receive data ready 位就一直变成1,搞得我不知道是不是真的又收到新的数据
bjtea
2011-07-24
打赏
举报
回复
没用过该芯片。你读完之后,需要人工清ready标志吗? 再就是,线路受到信号干扰了吗?
paopao1874
2011-07-24
打赏
举报
回复
使用的串口IC是 sc16c550
paopao1874
2011-07-24
打赏
举报
回复
我做测试,只发送一个字符给串口,串口收到后在中断中根据 LSR的receive data ready位来读取 fifo中的数据,发现第一个字符的确是我发送的,但是随后的就是某个字符一直重复,receive data ready位也是一直为1的,而示波器上看到,后面是没有数据发出去的。
bjtea
2011-07-24
打赏
举报
回复
什么芯片? 清空后(不等于没有内容了),依然可以读到最后一个字符属于正常。 问题在于RI标志应该不再出现,不少芯片都是RI与TI合用一个中断,所以你要分清,是否是TI标志引起的中断。
guetcw
2011-07-24
打赏
举报
回复
楼主你的是什么处理器,我遇到的更奇怪,reset TX的fifo后会有一定机率把RX fifo的数据顺序打乱,非常奇怪
stm32 CAN
FIFO
STM32的CAN接口通常包含两个独立的发送邮箱(TX
FIFO
)和两个接收
FIFO
(
RX
FIFO
),每个
FIFO
具有不同大小的存储空间,可以配置为16或32个邮箱。这些邮箱用于暂时存储待发送或接收到的数据帧,确保数据的有序处理。 ...
STM32F103C8 DMA
串口
FiFO
接收
该芯片具备多种外设接口,包括串行通信接口(USART)和直接存储器访问(DMA),其中DMA功能可以极大地提高数据传输效率,尤其在处理
串口
接收任务时,如
FiFO
(First In First Out,先进先出)接收模式。
串口
通信在...
UART_
RX
.rar_
fifo
uart verilog_uart
fifo
_uart_
rx
_带有
FIFO
UART(通用异步接收发送器)是数字通信接口,常用于微控制器和其他设备之间的串行通信。在嵌入式系统中,UART广泛用于与外围设备交互,如传感器、显示屏、键盘等。UART_
RX
.rar_
fifo
uart verilog_uart
fifo
_uart_
rx
_...
TI2812DSP的SCI
串口
FIFO
中断方式例程
3. 设置中断阈值:为发送和接收
FIFO
分别设置不同的中断阈值,例如当发送或接收
FIFO
达到半满或空时触发中断。 4. 开启中断:启用SCI的发送和接收中断,这通常在中断控制器的配置中完成。 5. 中断服务程序:编写中断...
SCI-
FIFO
.zip_ dsp2812
FIFO
_dsp2812的
fifo
_dsp的
fifo
_sci 发送_sci的发送fi
SCI(Serial Communication Interface)是串行通信接口,广泛应用于微控制器和数字信号处理器(DSP)之间进行数据传输。在TI的TMS320C2812 DSP中,SCI
FIFO
(First In First Out,先进先出)是实现高效串行通信的...
驱动开发/核心开发
21,616
社区成员
21,710
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章