Monodroidを使用してBluetooth経由でデバイスにコマンドを送信する際に興味深い問題が発生しています。
私はこのMonodroidメソッドを使用しています:
BluetoothSocket.OutputStream.Write(byte [] buffer、int offset、int count);
次の8バイトのフレームを送信する必要があります。
- 0x51
- 0x26
- 0x0
- 0x0
- 0x0
- 0x0
- 0xFFFFFFA3
- 0x0
問題は、0xFFFFFFA3が符号付きバイト(-93)であるため、Writeメソッドに渡す配列を作成するためにバイトではなくC#.NETのsbyteを使用する必要があることを意味します。
ただし、sbyte[]配列をWriteメソッドに渡すことはできません。byte[]配列しか渡すことができません。C#.NETでは、署名されているため、0xFFFFFFA3をバイトに入れることはできません。
コマンドをソケットに渡すにはどうすればよいですか?ありがとうございました。