当前位置:  技术问答>linux和unix

串口读来的数据有可能发生比特错位吗?

    来源: 互联网  发布时间:2016-07-08

    本文导语:      linux下用read()函数读取串口数据,读出来的用%c输出,有时正确,有时是乱码,波特率没有问题,请问会是什么原因呢?可能会出现比特错位的现象吗?     比如把 0x30 0x30 0x30 0x30 0x30 ( 0011000000110000001100000...

    linux下用read()函数读取串口数据,读出来的用%c输出,有时正确,有时是乱码,波特率没有问题,请问会是什么原因呢?可能会出现比特错位的现象吗?
    比如把 0x30 0x30 0x30 0x30 0x30 ( 0011000000110000001100000011000000110000 )
    读取为 0x18 0x18 0x18 0x18 ...  ( 00011000000110000001100000011000 ...) 错了一个比特位
    如果是这样的话?是什么原因造成的呢?怎么解决呢?
    如果不可能出现这种情况,那又会是什么原因呢?
    我在网上找了很多资料,没有关于read()读取串口会出现比特错位的介绍!!
    等待高手解决!!

|
建议你从易到难,逐个排查:先排除最容易解决的可能原因(串口工作模式),然后再去考虑比较难解决的原因(驱动问题啊,read()函数啊之类的)。

还有一个问题就是你在测试串口的时候,远离干扰源,如果你的测试环境有很大的电磁干扰,那也会造成这种情况。

|
fffff

|
硬件是这一层肯定不会,硬件以上的层次可能会有问题

我觉得你八成是配置有问题,两头配得不一样。

|


这个不会有问题

|

可以确认,是配得不对,你看看你的停止位什么的。

|
串口比特位出错应该是比较常见的吧,之前我在Windows下编程序读取串口的信息,也经常会有错误发生。不过至于是不是read()函数的问题,不好说。有可能是发送端的问题,也有可能是接收端的问题。很难笼统判断。

|
或者可以将波特率降低点,比如9600,或者4800

    
 
 

您可能感兴趣的文章:

  • 博客 iis7站长之家
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • linux下几个设备通过串口串行连接,如何协调各串口发送数据
  • 散分100,求解串口键盘和串口鼠标驱动
  • Linux 中用java语言写串口程序,提示找不到串口
  • 高分求助:我笔记本没有串口,在linux下要和一个串口设备连,怎么办?
  • 关于linux串口通信中写串口的问题
  • 开发板串口与实际内核中的串口文件的对应关系怎么回事?谢谢帮忙
  • 怎么判断串口已经收到数据,并及时读出?怎么判断串口已经将写入的数据发送完毕?
  • 工控机有6个串口,但用光盘安装debian6.05,在dev中只找到4个串口,如何解决。
  • linux下串口发送数据用串口精灵接受不到或为全零
  • 在虚拟Linux系统下能进行串口通讯吗?最好给个串口通讯的代码!谢谢!
  • 要加多个串口,怎么分别指定他们的driver_name和dev_name以示区别各个串口?
  • 工控机上用光盘安装debian6.05,硬件上有6个串口,但是软件上即dev中只有4个串口,如何解决。
  • 嵌入式linux,串口初始化时,无法设置串口属性
  • 扩展的串口卡上的串口操作的问题
  • 请教串口通信的编程
  • 请问如何以独占的方式打开串口
  • linux串口驱动该怎么写
  • 虚拟串口怎么读数据? 请有 串口 或者 usb 驱动经验的高手指点
  • linux下如何清空串口的输入输出缓存


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3