C#串口编程(简单Demo)

步骤一:下载安装串口模拟软件

软件名称:VSPM虚拟串口软件   下载地址:http://download.csdn.net/source/1232967

使用方法:1.安装以后工作模式选择为:VSPM运行在Server模式,支持Client模式设备

              2.使用设备探测器建立虚拟串口。(如果选择 建立默认的串口,软件就会自动帮你建立四个虚拟串口的)之后就是新增虚拟串口

              3.串口选COM2,选择监听的IP地址:192.168.1.101 ,Client模式的设备尝试连接此端口:8099

              4.选择此串口,再选择菜单栏:检查此设备连接,输入刚才新增时候选择的IP地址:192.168.1.101,刚才选择的端口:8099

              5.点击重新连接,这个窗口没有什么反映:但是主窗口的串口最右边一栏:最后一次操作:显示串口:COM2没有打开。

步骤二:串口编程

    1.建立winform项目,添加引用:Microsoft.VisualBasic

    2.界面设计

    (由于刚开始学串口通信不久,此Demo只模拟向串口发送数据和从串口接收数据)

 

 

                  C#串口编程(简单Demo)_第1张图片

 

代码如下(此Demo用了serialProt控件,在控件的属性中进行了设置,如串口名、波特率等,虽然这样不 是很灵活,但是对于此Demo足够了)


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.IO.Ports;

namespace SerialPort
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

 

        private void btn_open_Click(object sender, EventArgs e)
        {
            serialPort1.Open();
        }

        private void btn_close_Click(object sender, EventArgs e)
        {
            serialPort1.Close();
        }

        private void btn_send_Click(object sender, EventArgs e)
        {

            serialPort1.WriteLine(tb_send.Text);
            MessageBox.Show("数据发送成功", "系统提示");

        }

        private void btn_recv_Click(object sender, EventArgs e)
        {

            tb_recv.Text = serialPort1.ReadLine();
            MessageBox.Show("数据接收成功", "系统提示");


        }


    }
}
程序演示效果图:

发送测试:

1.首先打开连接,回到虚拟串口的“Telnet管理”窗口,点击“重新连接”则主窗口中“最后一次操作”列变成了“客户端已经建立TCP/IP连接”,此时表明已经和串口连接成功。

2.然后输入要传的数据,点击发送数据,具体效果如下图:

 

C#串口编程(简单Demo)_第2张图片

C#串口编程(简单Demo)_第3张图片

C#串口编程(简单Demo)_第4张图片
可以看到在COM2口中已经接收到了发送过去的数据,程序运行成功.

 

接收测试:

在VSPM的“Telnet管理”窗口中直接输入数据并且回车即可,界面上是看不到的。执行“虚拟串口设置管理”-->“跟踪串口数据”,在弹出的窗口中可以看到数据,然后在测试程序中点击“接收数据”便可显示出收到的数据。

 

 

 

C#串口编程(简单Demo)_第5张图片

 

至此一个简单串口编程就完成了,后续仍在继续.....

你可能感兴趣的:(学习)