前言
串口的演示,消息的发送与接收,串口的设置等
提示:以下是本篇文章正文内容,下面案例可供参考
一、SerialPort属性
代码如下:
//判断串口是否打开
serialPort.IsOpen
//打开串口
serialPort.Open();
//关闭串口
serialPort.Close();
//端口 (String类型)
serialPort.PortName
//比特率 (Int类型需要转换)
serialPort.BaudRate = Convert.ToInt32();
//效验位
serialPort.Parity = Parity.None;//不校验
Parity.Odd;//基数校验
Parity.Even;//偶数校验
Parity.Mark;//基偶数校验位设置为1
Parity.Space;//基偶数校验位设置为0
//数据位 (Int类型需要转换)
serialPort.DataBits = Convert.ToInt32();
//停止位
serialPort.StopBits = StopBits.One;//一个停止位
StopBits.OnePointFive;//1.5个停止位
StopBits.Two;//2个停止位
StopBits.None;//没有停止位
//启用控制终端就续信号 DtrEnable
serialPort.DtrEnable = true;
//启用请求发送信号 RtsEnable
serialPort.RtsEnable = true;
//设置传输前后文本转换的字节编码格式
serialPort.Encoding = Encoding.GetEncoding("GB2312");
//通过串口发送数据
serialPort.Write("这里填发送的数据");
//接收数据
接收数据需要在serialPort事件中启用serialPort_DataReceived事件
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//暂时的数据接收
//当前串口下可读的字节
byte[] dataTemp = new byte[serialPort1.BytesToRead];
//读取串口数据
serialPort1.Read(dataTemp,0,dataTemp.Length);
//异步线程操做
this.Invoke(new EventHandler(delegate {
//将数据转换编码格式
string str = Encoding.GetEncoding("GB2312").GetString(dataTemp);
//0x00 -> \0 结束 不会显示
str = str.Replace("\0", "\\0");
//将数据添加进textbox
txt_receive.AppendText(str);
}));
}
项目演示链接
这是自己写的一个串口演示的小Demo,里面包含了对串口的设置,数据的收、发,串口的连接等
C# Winform 串口的演示
👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆