从SerialPort转换字符串,转换为字节数组,然后能够单独识别每个字节
本文关键字:字节 转换 单独 识别 字节数 字符串 SerialPort 数组 然后 | 更新日期: 2023-09-27 18:08:15
我有一个字节数组通过gto 8字节的SerialPort传入。数组中的每个字节都意味着不同的东西,所以我正在寻找一种方法,能够标记每个字节,以便稍后在程序中进行询问。我知道下面的代码是不对的,但是我需要能够查询从byte0到byte7的每个字节。
例如: rxString = mySerialPort.ReadExisting();
byte[] bytes = Encoding.ASCII.GetBytes(rxString);
if (bytes.SequenceEqual(new byte[] { (byte0) = 0x95 }))
{
tb_Status.AppendText("Correct Sequence");
}
else
{
tb_Status.AppendText("Incorrect Sequence!!!");
}
谢谢
您应该简单地将字节读入数组并通过索引(如您所说的从0到7)访问它们。如果在特定字节上解释特殊含义,则应该将整个内容封装在一个类中,并通过以下属性提供对数组的命名访问:
public short MyFancyData {
get {
return bytes[2] + (bytes[3] << 8);
}
}
public byte MyLessFancyData {
get {
return bytes[7];
}
}
public bool IsCorrect {
get {
return bytes[0] == 0x95;
}
}
// etc.
快到了吗?
rxString = SerialPort.ReadExisting();
byte[] bytes = Encoding.ASCII.GetBytes(rxString);
var a = bytes[0];
var b = bytes[1];
if (a == 0x74)
{
tb_Status.AppendText("This is Good");
}