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

串口通讯的问题。头疼+郁闷

    来源: 互联网  发布时间:2015-04-07

    本文导语:  我用串口与外部设备进行通讯。通讯帧格式如下。 1位起始为(0) D0--d7,8位数据位(低位在先) D8,1位控制位(第9位数据):1为地址,0为数据; 1位停止位(1)。 D8控制位得是为多机通讯而设的。D8位既奇偶校验...

我用串口与外部设备进行通讯。通讯帧格式如下。
1位起始为(0)
D0--d7,8位数据位(低位在先)
D8,1位控制位(第9位数据):1为地址,0为数据;
1位停止位(1)。

D8控制位得是为多机通讯而设的。D8位既奇偶校验位由软件控制为可编程位。通过对串口的8250线控寄存器3FBH写如特定的控制字即可实现D8为1或为0。

我现在要做的是,先给外部设备发送命令症。将D0-D7写如外部设备的地址00H-FFH。D8位置1。外部设备收到地址判断是否和自己地址相同,相同则D0-D7写如地址,D8置0回送。

我现在要问的是。我如何给外部设备发这样的命令帧呢????起始和停止位的数据是串口自动加到我发的数据的头尾上的吧?D0--D7我可以写到一个字符中然后向串口设备文件中写入。但D8位我如何操作呢。难道还要再用一个字符吗,但想想也不行。或者是在串口termios结构初始化的时候通过置c_cflag位来实现?但我不知道如何置,还望哪位高人指导指导。不胜感谢。

我的串口初始化如下。

        fd  =  open(com2,O_RDWR | O_NOCTTY);

        tcgetattr(fd,&oldtio);

        bzero(&newtio,  sizeof(newtio));


        newtio.c_cflag = CS8|CLOCAL|CREAD;

        newtio.c_iflag = IGNPAR;

        newtio.c_oflag = 0;

        newtio.c_lflag = 0;

        newtio.c_cc[VTIME]=secends;
        newtio.c_cc[VMIN]=charnum;

        cfsetispeed( &newtio ,B9600);
        cfsetospeed( &newtio ,B9600);

        tcflush(fd,TCIFLUSH);
        tcsetattr(fd,TCSANOW,&newtio);

急切盼望回复。谢谢!!!














|
我如何给外部设备发这样的命令帧呢????
将数据位设置成8位,并设置送两个停止位
起始和停止位的数据是串口自动加到我发的数据的头尾上的吧?
是的。
D0--D7我可以写到一个字符中然后向串口设备文件中写入。但D8位我如何操作呢。难道还要再用一个字符吗,但想想也不行。或者是在串口termios结构初始化的时候通过置c_cflag位来实现?
newtio.c_cflag= |= CSTOPB
设置为送两个停止位。
用上面的方法试试

    
 
 

您可能感兴趣的文章:

  • 在虚拟Linux系统下能进行串口通讯吗?最好给个串口通讯的代码!谢谢!
  • 串口通讯问题,急郁闷!(不是编程,而是设置)
  • 请教一个linux串口通讯问题?
  • LINUX下的JAVA串口通讯问题,如能解决,不胜感激
  • 串口通讯 丢失数据
  • 最近需要学一些串口通讯的东西。。。
  • u-boot中处理串口通讯的源码在哪?
  • Qt下串口通讯程序请教
  • ARM串口通讯丢包问题,急!!!
  • 请问:linux 下 C语言编程 , 如何将 串口 由 全双工 变化为 半双工 通讯 方式?
  • 串口通讯
  • linux串口通讯问题
  • 串口通讯,为什么一定加r才可以正确发送?
  • 急求linux串口通讯的例子.
  • 各位老大帮帮我,关于和串口设备通讯的问题
  • 求助AIX系统中的串口通讯问题!!
  • 如何在linux下用C/C++实现RS232 串口通讯的程序?
  • 有关linux下串口通讯断帧的问题,望高手解答
  • 串口通讯---高手请进 大散分
  • Linux串口通讯rn被转换成诡异的字符
  • 关于linux串口通信中写串口的问题
  • vmware 上 linux 串口问题
  • linux下串口通信的问题
  • 板间串口通信问题
  • 扩展的串口卡上的串口操作的问题
  • 急!急!急!急!急! liux 串口问题
  • 最棘手一种串口问题。请教高手。在线等
  • 在线等待,求助LINUX下串口问题
  • 急了急了:串口read函数问题!
  • 串口配置问题
  • unix 下c写的串口程序调试问题!高手请进 !!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












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


  • 站内导航:


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

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

    浙ICP备11055608号-3