在工业自动化、嵌入式系统及物联网以行业中,串口编程非常重要。
串口编程,重点在于串口数据通信和数据处理。
在C#中,System.IO.Ports命名空间提供了SerialPort类,用于实现串口通信。
串口程序的开发主要包括以下几点
1.引用命名空间
using System.IO.Ports;
2.定义串口类
private SerialPort Sp = new SerialPort();
需要指定端口号、波特率、数据位、停止位和校验位。
3.设置事件处理程序以接收数据。DataReceived事件会在串口接收到数据时触发,我们可以在这里处理接收到的数据。
Sp.DataReceived += new SerialDataReceivedEventHandler(Sp_DataReceived);
private void Sp_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
byte[] readBuffer = new byte[Sp.ReadBufferSize];
Sp.Read(readBuffer, 0, readBuffer.Length);
//在这里处理接收到的16进制数据
}
4.在处理完数据后,通常需要将其展示在上位机界面上,可能涉及到UI控件例如 Label、TextBox等控件。需要使用 Invoke 确保在UI线程中更新。
5.串口数据发送用函数Write();
6.串口向硬件发送数据时,经常要将ASCII码字符转为16进制数的byte数组进行发送,可以用该源码中的StrHexToBin方法
完整源码下载链接http://xzios.cn:86/WJGL/DownLoadDetial?Id=22
希望文中知识及源代码对大家有所帮助