c# serialport读取不限数量的16进制数据

Posted 和优秀的人一起成长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# serialport读取不限数量的16进制数据相关的知识,希望对你有一定的参考价值。

//private char[] HexChar = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘A‘, ‘B‘, ‘C‘, ‘D‘, ‘E‘, ‘F‘ };

 private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            char hexH;
            char hexL;
            byte receivebyte;
            string dataToshow = "";
            while (serialPort1.BytesToRead > 0)
            {
                receivebyte = (byte)serialPort1.ReadByte();
                hexH = HexChar[receivebyte / 16];
                hexL = HexChar[receivebyte % 16];
                dataToshow += hexH.ToString() + hexL.ToString();
            }
            this.tBox.Invoke(new MethodInvoker(delegate
            {
                this.tBox.AppendText(dataToshow + "\n");
            }));
        }

  

以上是关于c# serialport读取不限数量的16进制数据的主要内容,如果未能解决你的问题,请参考以下文章

c# 16进制显示转化

C# 串口导致电脑蓝屏一个可能的原因

c#如何实现串口通信读取数据

请教个实际问题,C# serialPort在读取数据有时候会连续触发DataReceived事件

使用 SerialPort 和 C# 中的线程“安全句柄已关闭”

刚刚读取刚打开的SerialPort时,只读取一个字节