串行通信 - 字节流

时间:2012-06-07 20:46:00

标签: c# serial-port

我正在尝试与XM调谐器进行串行通信。调谐器要求从comport发送一系列字节以控制调谐器,命令流的一个例子如下:“B8,4D,18,30,20,B8”。最初,我试图将命令作为字符串(下面)发送,但这不起作用。

 _Comport.Write("B8,4D,18,30,20,B8");

我还尝试将命令转换为字节数组,但这也无效。

 System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
 Byte[] bytes = encoding.GetBytes("B8,4D,18,30,20,B8");               
 _Comport.Write(bytes,0,bytes.Length);

comport打开并接收来自调谐器的消息;但是我不知道如何将字节流传输到调谐器。有人可以指导我如何与调谐器进行适当的沟通吗?

1 个答案:

答案 0 :(得分:6)

如果你想把它们作为字节发送,而不是ASCII字节表示,你可以这样做:

var bytes = new byte[] { 0xB8, 0x4D, 0x18, 0x30, 0x20, 0xB8 };
_Comport.Write(bytes, 0, bytes.Length);

数字前面的0x向编译器表明它们是十六进制数。