一、前言
我一名还没毕业的大学生,本次我要做一个关于C#的串口接发数据的实验,这个实验有点简单你忍一下,这实验中我参考了一些烂大街的代码,做了自己的总结。
环境:Visual Studio 2017社区版
实验前构思:
要串口通讯,我必须指定一个串口,要是我电脑里同时存在多个串口怎么办?那么我要获取电脑中的串口,用一个Combo Box来保存我的串口号。
有了串口号,但是我们在发送数据前必须打开串口,打开串口必须给串口的一些参数配置好。
串口打开我们就可以收发数据了,收发数据一定要在串口打开的情况下进行。
二、获取串口号添加到combo Box
关键代码:
string[] portname = SerialPort.GetPortNames();
这里我知识用数组保存了一个get到的串口名称,然后我们通过遍历的方法把串口名称添加到combo Box上,
foreach (string s in portname)
{
comboBox1.Items.Add(s);
}
这样的话初始化的时候combo Box上还是空空的看起来不舒服,所以给combo Box添加一个索引,让他初始化的时候就显示其中一个串口名称。
comboBox1.SelectedIndex = 0;
我们可以在窗体上看到的效果
二、打开串口
配置串口参数需要配置以下的内容:
serial_.PortName = comboBox1.Text.Trim();
serial_.Open();
serial_.BaudRate = 115200;
serial_.DataBits = 8;
serial_.StopBits = StopBits.One;
serial_.Parity = Parity.None;
serial_.ReadTimeout = 100;
serial_.WriteTimeout = -1;
对于接收数据的初始化
serial_.ReceivedBytesThreshold = 1;
serial_.DataReceived += new SerialDataR