C#的串口编程(转)

对于串口编程,熟悉的应该觉得不困难。.NET下就更容易了,废话也没了。开始吧。
1.虚拟串口软件
由于手上没有串口硬件,所以在网上找了一个 VSPM 虚拟串口软件 ,据说是免费的。
下载地址:http://www.skycn.com/soft/30517.html 
刚开始也不知道怎么用,摸索了一下,终于成功。
安装以后工作模式选择应该为:VSPM运行在Server模式,支持Client模式设备
然后是使用设备探测器简历虚拟串口。(如果选择 建立默认的串口,软件就会自动帮你建立四个虚拟串口的)
之后就是新增虚拟串口
    串口选COM2,选择监听的IP地址:192.168.1.111 ,Client模式的设备尝试连接此端口:8099
建立之后:选择此串口,再选择菜单栏:检查此设备连接,输入刚才新增时候选择的IP地址:192.168.1.111,刚才选择的端口:8099
点击重新连接,这个窗口没有什么反映:但是主窗口的串口最右边一栏:最后一次操作:显示串口:COM2没有打开。

2. .NET串口操作
由于显示:串口:COM2没有打开,所以我们要先打开串口,才能用那个虚拟软件连接它(一开始我也没有注意到,弄了几小时)。
添加引用:Microsoft.VisualBasic

用以下遍历SerialPortNames,获得所有的串口
Microsoft.VisualBasic.Devices.Computer pc = new Microsoft.VisualBasic.Devices.Computer();
            foreach (string s in pc.Ports.SerialPortNames)
            {
                this.comboBox1.Items.Add(s);
            }

然后对应显示的串口名称comName,获取操作对象。就可以对这个串口进行打开了:

System.IO.Ports.SerialPort com = new System.IO.Ports.SerialPort(comName);
com.Open();

打开后就可以用虚拟的那个软件进行连接了,用以下的发送信息,虚拟软件就可以收到了。

向串口发送数据:
 com.WriteLine(this.textBox1.Text);

当然也可以接受数据:
com.ReadLine()
这里是接收一行数据,需要在虚拟软件输入后按回车(那个管理界面输入就是了,没有回显的,打后回车就是了)。
其他操作自行参透,或参考以下关键词:The My Namespace in VB.NET ,C#中如何使用VB.NET的My关键字

当然最后就是关闭了:
com.Close();

虚拟串口软件和测试操作如图所示:

posted @ 2011-09-20 18:02  心随灵动  阅读(515)  评论(0编辑  收藏  举报