标签归档:虚拟串口

在vmware中增加虚拟串口

Vmware的主窗口, 点击“Vmware -> Settings -> Hardware -> Add ” , 选择Serial port, 继续选择”use named pipe”
这样就OK 。
测试:
/*   同时在两台机的Linux下输入
stty ispeed 115200 ospeed 115200 -F /dev/ttyS0
配置串口的波特率,否则很有可能连不通~~(这一段我测试的时候好像没用到,系统是rhel5.4)
*/
测试两台机的串口是否连通:
在A上输入 cat /dev/ttyS0
在B上输入 echo hello > /dev/ttyS0
如果在A的终端上可以弹出hello的消息的话,证明B→A连通了。将A、B角色互换再试一次,若都成功的话,恭喜你,虚拟串口线的配置算是完成了

本文来自:http://www.diybl.com/course/6_system/linux/Linuxjs/20101230/548731.html

linux下的虚拟串口程序

今日编写了一个串口通讯程序,但是本机只有一个串口,无法验证程序的正确性,
于是想到在linux下面增加一对虚拟串口,找了半天,没有简便的解决方法,都是涉及驱动
小弟我不懂,只好继续找,最后找到一个用python语言写的一个简易程序,能够实现虚拟串口通讯
下面是源代码:
[code lang=”cpp”]
#! /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)
[/code]

保存为VirtualComTest.py
在命令行中输入 python VirtualComTest.py &
然后会返回虚拟串口的设备地址

 

在终端里运行“python VirtualComTest.py &”,这样就可以生成一个基于pty(伪终端)的虚拟端口对,两个设备名会显示在终端里。然后就可以利用这两个设备名在本机上进行虚拟串口之类的调试~
使用完后用ps查看这个python进程的pid号,然后kill掉即可~

 

原文地址:http://fayaa.com/code/view/8500/