zoukankan      html  css  js  c++  java
  • 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();

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

  • 相关阅读:
    WPF 中英文切换
    System.Data.Entity.Core.ProviderIncompatibleException:0x89c50107
    WinForm使用原生gdi+绘制自定义曲线图、折线图
    C#使用EPPlus读写excel
    ICSharpCode.SharpZipLib C# 压缩文件夹SharpZipHelper
    C# XSLT 转换word 生成word
    代码生成器集合
    优秀的个人博客
    面试经典复习资料
    图解算法
  • 原文地址:https://www.cnblogs.com/myitm/p/2182731.html
Copyright © 2011-2022 走看看