【发布时间】:2016-09-06 10:18:37
【问题描述】:
我可以从串行端口获取从单个字节到最多 7 或 8 个字节的任何内容。现在这些字节以0x06(ACK)或0x15(NAK)等形式转为0x1A、0x56、0xF7、0x01、0xC3等字节流...
现在我的代码不再像这样了:
private void mySerialPort_DataReceived (object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
rxString = mySerialPort.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
private void DisplayText(object sender, EventArgs e)
{
byte[] bytes = Encoding.ASCII.GetBytes(rxString);
tb_Status.Clear();
if (bytes = (0x00, 0x00, 0x00, 0x06))
{
tb_Status.AppendText("Ok, we are GOOD!!!");
}
}
但我收到错误“严重性代码描述项目文件行 错误 CS0029 无法将类型 'int' 隐式转换为 'byte[]'""
所以当我有一个字节数组(从 SerialPort 编码为字符串)时,我如何识别数组中的一个特定字节,然后将其与另一个字节进行比较?
谢谢
【问题讨论】:
-
你在哪一行得到错误?
-
if (bytes = (0x00, 0x00, 0x00, 0x06))
-
0x... 默认情况下,编译器会将值转换为 int。
-
谢谢,但知道如何解决比较数组中每个字节的问题吗?