gpt4 book ai didi

C# Delphi ComPort 通信

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:26 25 4
gpt4 key购买 nike

我使用 Visual Studio 2008 (C#) 或 Delphi CodeGear 编写了与串行 com 端口设备通信的程序。设备以十六进制格式向我发送数据,我读取了它。真实示例 - 40 32 00 D2 01 A6 B2第一个字节“40”是设备号。第二个字节“32”是按下设备的哪个按钮。等等……

我的问题是如何分别查看字节。当我收到 40 32 00 D2 01 A6 B2我不得不说这是设备“1”(例如),它被按下按钮“2”(例如)。如果有人知道该怎么做,我将非常感谢您的帮助。谢谢

最佳答案

我找到了这段代码并使用了它:

void comPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//determine the mode the user selected (binary/string)
switch (CurrentTransmissionType)
{
//user chose string
case TransmissionType.Text:
//read data waiting in the buffer
string msg = comPort.ReadExisting();
//display the data to the user
DisplayData(MessageType.Incoming, msg + "\n");
break;
//user chose binary
case TransmissionType.Hex:
//retrieve number of bytes in the buffer
int bytes = comPort.BytesToRead;
//create a byte array to hold the awaiting data
byte[] comBuffer = new byte[bytes];
//read the data and store it
comPort.Read(comBuffer, 0, bytes);
//display the data to the user
DisplayData(MessageType.Incoming, ByteToHex(comBuffer) + "\n");
break;
default:
//read data waiting in the buffer
string str = comPort.ReadExisting();
//display the data to the user
DisplayData(MessageType.Incoming, str + "\n");
break;
}
}

我收到这个“40 32 00 D2 01 A6 B2”(十六进制格式)我想要第一个字节表示这个设备是数字 1,第二个字节表示按下按钮 N 等......

关于C# Delphi ComPort 通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com