0

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をバイトに入れることはできません。

コマンドをソケットに渡すにはどうすればよいですか?ありがとうございました。

4

1 に答える 1

1

0xFFFFFFA3はInt32のサイズであり、これがコンパイラが文句を言っている理由である可能性があります。0xA3のバイト値を指定できるはずです。

于 2012-10-18T14:48:57.313 に答える