前言:
当前咱们对“c串口源码”可能比较关怀,小伙伴们都需要知道一些“c串口源码”的相关内容。那么小编在网摘上收集了一些关于“c串口源码””的相关内容,希望兄弟们能喜欢,小伙伴们快快来了解一下吧!前面简单介绍了C#的基础知识,由于刚子是半路出家,所以一直以来都养成了不太注重死记硬背基础知识,而是提倡在别人代码基础上修改。所以今天我们也采用这样的方式来试一下串口通讯。
首先要准备一些软件工具:虚拟串口、串口助手。在电脑上安装好虚拟串口软件,然后新建一对虚拟串口。
这一对虚拟串口创建好后,已经被软件内部联通了。这意味着你从串口1发出的数据,在串口2就能收到,从串口2发出的数据,从串口1就能收到,这样就完成了串口双向通讯。我们要做的就是学习如何接收和发送数据。
在自己编程序之前,先打开串口助手,试试两个串口是否正确联通了。串口在数据传输过程中,两边的协议需要一致。所以要确认两侧的波特率、奇偶校验位、数据位、停止位等参数一致,这样才能正常的进行数据发送和解析。
先建立一个项目,然后创建一个窗体,在窗体上按图示建立打开串口按钮、发送按钮、接收数据文本框、发送数据文本框、串口列表框。之后双击打开串口按钮,进入源代码编辑界面,然后添加 引用:using System.IO; using System.IO.Ports;
之后在按钮的源代码中填入以下代码:private SerialPort serialPort1 = new SerialPort();
这时候我们会发现编译器报错了。这是因为我们没有引用 SerialPort 控件,不必气馁,自行添加一下。菜单栏找到: 工具–>Nuget包管理器(N)–>管理解决方案的Nuget程序包(N)
点击管理解决方案的Nuget程序包(N),在打开的界面中选择:浏览,并输入“Serial Port“ 回车后,列表中找到 System.IO.Ports ,选中右边的项目(我的是Port), 你自己的可能不同,点击安装安装该模块,
在弹出的框中点击确定,安装完成后错误消失。
双击窗体,在源代码中输入下方代码:
private void Form1_Load(object sender, EventArgs e)
{
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
comboBox1.Items.Add(port);
}
comboBox1.SelectedIndex = 0;
}
这样我们在窗体加载时就获取了本电脑上所有可用的串口列表。
双击打开串口按钮,添加以下代码:
serialPort1.PortName = comboBox1.Text;
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.Parity = Parity.None;
serialPort1.StopBits = StopBits.One;
serialPort1.DataReceived += SerialPort1_DataReceived;
serialPort1.Open();
双击发送按钮,添加以下代码:
serialPort1.WriteLine(textBox1.Text);
MessageBox.Show("数据发送成功!", "系统提示");
这样我们就完成了发送部分代码的编写,可以运行一下试试了。
从图上可以看到,我们成功发将数据从C#编写的窗口发送到了串口助手。
今天就到这里,我们后面再讲如何用串口接受数据,希望大家持续关注。