2

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は開いており、チューナーからメッセージを受信します。しかし、バイトのストリームをチューナーに送信する方法については途方に暮れています。誰かが私がチューナーと適切に通信する必要がある方法について親切に私を導くことができますか?

4

1 に答える 1

6

これらをASCIIバイト表現ではなくバイトとして文字通り送信する場合は、次のようにします。

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

0x数字の前にあるのは、それらが16進数であることをコンパイラーに示します。

于 2012-06-07T20:50:51.513 に答える