我正在尝试从串口接收链,并将其写入另一个串口
好吗?
接收数据没有问题,但是当我尝试将完全相同的字节数组写入另一个端口时,STX和ETX消失了,我真的无法理解为什么。
链格式是:
<STX><VALUE><ETX><LRC>
当将字节数组转换为字符串时,02和03,STX和ETX的值仍然存在,但是当我将字节数组发送到另一个端口时,它只发送<VALUE><LRC>
示例:
收到链字节数组,转换为字符串。
026131300360
ascii表示
.a10.`
ascii在第二个端口收到
a10`
我的代码
Queue<Byte[]> Port1Tail= Port1.lista; // a queue of byte arrays received
if (volumTail.Count > 0)
{
Byte[] cadena = Port1Tail.Dequeue();
StringBuilder tramabuild = new StringBuilder();
foreach (Byte b in cadena)
{
tramabuild.Append(((Int16)b).ToString("x"));
}
String trama = tramabuild.ToString();
Byte[] cale = ToByteArray(trama);
inputlistbox.Items.Insert(0, trama);
Port2.Send(cale, 0, cale.Length);
//Port2.Send(cadena, 0, cadena.Length);
}
正如您所注意到的,我已经尝试完全按照收到的方式发送收到的链,甚至尝试将其转换为字符串,然后返回到具有完全相同结果的字节数组。
有人可以告诉我,我做错了什么?