C# 串口通讯:serialport类

1.添加引用

using System.IO.Ports;

2.创建串口,选择参数

//获取串口名称数组
string[] SerialportName = SerialPort.GetPortNames();//
//第一个参数为串口名称,比特率
SerialPort serialPort = new SerialPort(Settings.Default.strCom, 115200, Parity.None, 8, StopBits.One);

//委托
disp_delegate = new Displaydelegate(DispUI);

//设置数据接收函数
serialPort.DataReceived += new SerialDataReceivedEventHandler(Comm_DataReceived);

//数据接收函数
void Comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
             Byte[] InputBuf = new Byte[32];
             try
             {
                 serialPort.Read(InputBuf, 0, serialPort.BytesToRead);                                //读取缓冲区的数据直到“}”即0x7D为结束符              
                 System.Threading.Thread.Sleep(50);
                 this.Invoke(disp_delegate, InputBuf);
             }
             catch (TimeoutException ex)         //超时处理
             {
                 MessageBox.Show(ex.ToString());
             }
}

//接收到的数据转换,并处理
public void DispUI(byte[] InputBuf)
        {
            ASCIIEncoding encoding = new ASCIIEncoding();
            strReadString = encoding.GetString(InputBuf);
            SaveLeftProductInfo();
        }


3.调试   下载串口调试工具,进行串口调试。笔记本没有串口,也可以同串口调试工具添加虚拟串口。



4.串口数据发送


//参数(字节数组,从0开始的偏移量,字节数)/或者直接string 指定字符串   参见系统文档。
Byte[] msg = new Byte[3];
            msg[0] = 0x16;
            msg[1] = 0x54;
            msg[2] = 0x0D;
           serialPort.Write(msg, 0, 3);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值