打印
[嵌入式linux]

串口接收数据出错

[复制链接]
1943|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
edisontang|  楼主 | 2008-1-28 10:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在arm9平台下扩展了一个SC16C550的芯片,驱动就用的现成的8250.c,只是添加了一些配置信息(定义了 STD_SERIAL_PORT_DEFNS这个宏,主要是配置基地址,中断等信息 ,并在8250.c的serial8250_init函数里初始化了这个扩展芯片,主要是配置它的基地址,中断等信息,这里的信息是和STD_SERIAL_PORT_DEFNS中的信息是匹配的),现在采用的是中断,fifo模式


现象:
接收数据的时候,如果对方发送一个字节,那这边是无法收到的(此时中断是产生了,产生的是超时中断,但是读取LSR的寄存器的时候,总是认为没有收到数据),如果对方发送4个字节,第一个字节也是收不到的,即收到了3个字节。

这种问题的原因是什么呢?如何解决呢?

相关帖子

沙发
Ice_River| | 2008-2-20 16:08 | 只看该作者

看看串口相关部分!

是不是字符超时中断打开了,或者是中断的激发条件设置错了,去你的初始化里面查!

使用特权

评论回复
板凳
edisontang|  楼主 | 2008-2-22 10:16 | 只看该作者

那是早就打开了,

那是早就打开了,因为当收到两个字符的时候,还是会产生超时中断的。

使用特权

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

本版积分规则

58

主题

104

帖子

0

粉丝