最近由于工作需要,在研究串口通讯的问题,下面分享一下关于串口的一个操作类,有不足之处,希望大家一起提出改善。
using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;
namespace 数据下载
{
/// <summary>
/// 对串口进行操作的类,其中包括写和读操作
/// </summary>
public class SerialClass
{
public SerialPort _serialPort = null;
//定义委托
public delegate void SerialPortDataReceiveEventArgs(object sender, SerialDataReceivedEventArgs e, byte[] bits);
//定义接收数据事件
public event SerialPortDataReceiveEventArgs DataReceived;
public bool ReceiveEventFlag = false; //接收事件是否有效 false表示有效
/// <summary>
/// 默认构造函数,操作COM1,速度为9600,没有奇偶校验,8位字节,停止位为1
/// </summary>
public SerialClass()
{
_serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
setSerialPort();
}
/// <summary>
/// 构造函数,可以自定义串口的初始化参数
/// </summary>
/// <param name="comPortName">需要操作的COM口名称</param>
/// <param name="baudRate">COM的速度</param>
/// <param name="parity">奇偶校验位</param>
/// <param name="dataBits">数据长度</param>
/// <param name="stopBits">停止位</param>