打印

串口丢失数据的问题

[复制链接]
4464|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zshihao|  楼主 | 2013-1-10 10:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向串口发送数据没有问题,可是当读的时候,有时候就会读错,比如串口设备发的帧A5 5A 0C 83 00 18 04 00 00 00 00 2F 13 3C 5D;到ARM中用read读出来后打印就变成了A5 5A 0C 83 00 18 04 00 00 00 00 2F 3C 5D 00,其中的13没有了,串口设备发的帧没有错误,已经检查过了。到底是哪里的问题,大神们帮帮忙吧。。。

相关帖子

沙发
阿南| | 2013-1-10 11:08 | 只看该作者
很有可能是接收的问题,确定下串口的接收方式,如中断、查寻,还是FIFO及DMA等,再检查相应的方式是否有问题。成倍的发数据,看是否能找到丢的规律

使用特权

评论回复
板凳
jlass| | 2013-1-10 12:56 | 只看该作者
竟然直接丢了8bit,如果不是程序有问题,就考虑中断的影响

使用特权

评论回复
地板
zshihao|  楼主 | 2013-1-10 13:03 | 只看该作者
本帖最后由 zshihao 于 2013-1-10 13:05 编辑

串口的接受方式怎么检查及设置啊,在termios结构体中设置么?中断怎么改啊。。。不是裸奔程序。。。

使用特权

评论回复
5
huangxz| | 2013-1-10 13:50 | 只看该作者
楼主是用什么arm(具体是哪个芯片啊),大部分芯片是带fifo的,在115200以内的波特率不可以出现你说的那种情况,如果你有1m的波特率,那就有可能你中断响应的慢了。

使用特权

评论回复
6
zshihao|  楼主 | 2013-1-10 14:19 | 只看该作者
ARM是9260  波特率就是115200。。。可那是什么原因呢。。。

使用特权

评论回复
7
huangxz| | 2013-1-10 14:39 | 只看该作者
9260没有fifo,数据丢了是因为你中断处理慢了。

使用特权

评论回复
8
zshihao|  楼主 | 2013-1-10 22:33 | 只看该作者
啊,那怎么设置啊,不是裸奔的程序,中断怎么设置。。。。

使用特权

评论回复
9
huangxz| | 2013-1-10 23:00 | 只看该作者
带系统的是在驱动里面,如果是ucos里面,一般修改驱动都很简单,如果是linux就稍微复杂一点了,设备分很多层

使用特权

评论回复
10
sfofyyy| | 2013-1-11 09:12 | 只看该作者
估计是设置问题,串口接收设置中可能设置为忽略换行和回车符。发个0x10看看是不是也没有了?

使用特权

评论回复
11
inurl| | 2013-2-20 20:00 | 只看该作者
  这么低的波特率也会丢数?

使用特权

评论回复
12
XZL| | 2013-2-22 16:33 | 只看该作者
接受BUFFER被覆盖了?

使用特权

评论回复
13
zhengmian| | 2016-6-21 10:37 | 只看该作者
我当前也遇到的这个问题,数据0x11,0x13无论我放在一串数据中的哪个位置,都被过滤了,个人感觉不是中断的问题,应当是串口的配置不对

使用特权

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

本版积分规则

3

主题

10

帖子

0

粉丝