C#中串口通信笔记
来源:互联网 发布:mac双系统时间不一致 编辑:程序博客网 时间:2024/05/20 11:20
1、设置相应的控件,并命名
2、打开串口按钮事件代码( 其中全局变量private SerialPort ComDevice = new SerialPort();)注:SerialPort需要使用using System.IO.Ports;
private void usbOpenButton_Click(object sender, EventArgs e)
{
if (usbNumComboBox.Items.Count <= 0)
{
MessageBox.Show("没有发现串口,请检查线路!");
return;
}
if (ComDevice.IsOpen == false)
{
ComDevice.PortName = usbNumComboBox.SelectedItem.ToString();
ComDevice.BaudRate = Convert.ToInt32(baudComboBox.SelectedItem.ToString());
ComDevice.Parity = (Parity)Convert.ToInt32(jiaoYanBitComboBox.SelectedIndex.ToString());
ComDevice.DataBits = Convert.ToInt32(dataBitComboBox.SelectedItem.ToString());
ComDevice.StopBits = (StopBits)Convert.ToInt32(stopBitComboBox.SelectedItem.ToString());
try
{
ComDevice.Open();
usbOpenButton.Enabled = false;
usbCloseButton.Enabled = true;
ComDevice.DataReceived += new SerialDataReceivedEventHandler(usbDataReceived);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
3、usbDataReceived函数(数据接收函数)
public void usbDataReceived(object sender, SerialDataReceivedEventArgs e)
{
byte[] ReDatas = new byte[ComDevice.BytesToRead];
ComDevice.Read(ReDatas, 0, ReDatas.Length);//读取数据
//以下为显示数据(默认HEX)
StringBuilder sb = new StringBuilder();
string text = sb.ToString().ToUpper();
for (int i = 0; i < ReDatas.Length; i++)
{
sb.AppendFormat("{0:x2}" + " ", ReDatas[i]);
}
receviedTextBox.AppendText(sb.ToString().ToUpper());
}
4、如果报出线程问题
需要在load函数中加入
Control.CheckForIllegalCrossThreadCalls = false;
- C#中串口通信笔记
- C# 串口通信 学习笔记
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- c#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#中串口通信编程
- C#串口通信笔记(二)
- C#中要实现串口通信
- C#中串口与Modem的通信
- 在C#中实现串口通信
- Keras Tutorial: Deep Learning in Python
- 机器学习(九):k-means与聚类
- 按钮布局演示
- 关于swift for 循环 遍历数组删除元素的bug问题
- jsoup教程009-处理URLs
- C#中串口通信笔记
- SimpleDraweeView 控件清空缓存
- 跨域资源共享 CORS 详解
- 负载均衡----实现配置篇(Nginx)
- 冒泡排序法
- Git常用命令总结
- 前台页面利用Ajax解析JSON
- 【POJ
- jsoup教程010-数据修改