教你如何在Linux下使用虚拟串口调试

2014年12月22日 由 Creater 留言 »
  • 1.虚拟串口
  • 虚拟串口的方法采用python创建两个从设备,并读取他们的数据进行转发,代码如下:

    #! /usr/bin/env python
    #coding=utf-8
    import pty
    import os
    import select
    def mkpty():
        master1, slave = pty.openpty()
        slaveName1 = os.ttyname(slave)
        master2, slave = pty.openpty()
        slaveName2 = os.ttyname(slave)
        print '\nslave device names: ', slaveName1, slaveName2
        return master1, master2
    if __name__ == "__main__":
        master1, master2 = mkpty()
        while True:
            rl, wl, el = select.select([master1,master2], [], [], 1)
            for master in rl:
                data = os.read(master, 128)
                print "read %d data." % len(data)
                if master==master1:
                    os.write(master2, data)
                else:
                    os.write(master1, data)

    下载链接,点击这里virtualcom.py.tar
    代码还是算比较简单,使用select来检测数据可读事件,并读取数据,转发到另外的虚拟设备。

  • 2.串口调试方法1
  • 这种方法使用极其简单,可以使用cat /etc/pts/11,这样就会打开该设备并阻塞,直到收到数据。
    发送数据方法也很简单,直接 echo “123” >> /etc/pts/12,即可。

  • 3.串口调试方法2
  • 这种方法使用Linux下的串口调试助手,xgcom,在goolecode可以下载到源码,另外还需要安装一些依赖包

    apt-get install make  automake libglib2.0-dev  libvte-dev  libgtk2.0-dev

    安装也很简单

    ./autogen.sh
    make && make install
    xgcom

    分别开两个xgcom,设备名字分别填上第一步里虚拟出的串口设备,然后进行通信测试。

后记:在windows下有非常好用的VSPD使用,当然在Linux下也是有这个软件的Linux版本,只是说配置文件很繁琐,没时间去折腾,感兴趣的可以搜索“VSPD for linux”。

广告位

发表评论

你必须 登陆 方可发表评论.