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

奇怪的串口通信问题,请高手指教

    来源: 互联网  发布时间:2016-02-16

    本文导语:  linux下串口发送和接收,发送0~255共256个数据,接收到的数据是:0 1 2 3 4 5 6 7 8 9 10 10 11 12 10 14 15 16。。。。。255,也就是说接收数据10和13时发生错误。而程序与运行在windows下的串口调试助手通信时,发...

linux下串口发送和接收,发送0~255共256个数据,接收到的数据是:0 1 2 3 4 5 6 7 8 9 10 10 11 12 10 14 15 16。。。。。255,也就是说接收数据10和13时发生错误。而程序与运行在windows下的串口调试助手通信时,发送和接收正常。
请高手指点原因,谢谢。

|
如果不是开发终端之类的,只是串口传输数据,而不需要串口来处理,那么使用原始模式(Raw Mode)方式来通讯,设置方式如下: 
options.c_lflag  &= ~(ICANON | ECHO | ECHOE | ISIG);  /*Input*/
options.c_oflag  &= ~OPOST;   /*Output*/

详情请参考:
http://www.ibm.com/developerworks/cn/linux/l-serials/index.html
 

|
10是换行符号,13是回车符号,串口通常接终端,通常是行模式,这样就会进行回车换行的转换(比如在终端的键盘上输入回车在屏幕上显示的时候会插入一个换行符号,也就是说会把回车转换为换行+回车),所以用串口传数据时,通常需要把串口设置为原始模式(RAW MODE).

|
这个是回车、换行导致的问题
设置c_iflag和c_oflag,将OPOST,INLCR,ICRNL等相关标志位去掉
具体请参考:http://industry.ccidnet.com/art/322/20060414/506801_1.html

|
转译了,建议参考《APUE》第18章“终端I/0”

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












  • 相关文章推荐
  • TCP通信select 非常奇怪的问题
  • linux下UDP通信奇怪问题
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪,真奇怪,在线等待
  • shm_open函数问题.奇怪!!!奇怪!!!!!
  • 奇怪奇怪...........?????...........
  • TCP通信select 非常奇怪的问题 iis7站长之家
  • 奇怪!奇怪!我用jbuilder编jsp程序,从数据库中取出的字符串型字段却显示16进制数
  • 奇怪的问题 奇怪的问题,向大家请教
  • 奇怪啊,奇怪,为什么我的JB7做EJB时,只要在EJB设计面板上随便做点东西,我的EJB的JAVA的源码就会变的不见了,或者少了很多字段申明??
  • 奇怪,CSDN的贴子,提问部分我最多能看到第4行??!!
  • accept,recvfrom接收到奇怪的ip
  • 好奇怪的问题哎………………怎么也不能安装!
  • 一个特奇怪的函数申明错误
  • unix下的非常的奇怪WC的问题,向unix高手请教 好急呀!!!!!!!!!!!!!!!
  • 奇怪!关于字串参数的问题?
  • 一个奇怪的路径问题
  • 一些奇怪的现象,帮帮我
  • !!!初学Java,遇到一个奇怪问题,请大家回答!!!
  • SOCKET发送奇怪问题!!!
  • 奇怪的四分之一屏!!


  • 站内导航:


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

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

    浙ICP备11055608号-3