我在使用 Monodroid 通过蓝牙向设备发送命令时遇到了一个有趣的问题。
我正在使用这个 Monodroid 方法:
BluetoothSocket.OutputStream.Write(byte[] buffer, int offset, int count);
我需要发送以下 8 字节帧:
- 0x51
- 0x26
- 0x0
- 0x0
- 0x0
- 0x0
- 0xFFFFFFA3
- 0x0
问题是 0xFFFFFFA3 是有符号字节 (-93),所以这意味着我需要使用 C#.NET 的 sbyte 而不是 byte 来创建要传递给 Write 方法的数组。
但是,我不能将 sbyte[] 数组传递给 Write 方法,我只能传递一个 byte[] 数组。C#.NET 不允许我将 0xFFFFFFA3 放在一个字节中,因为它已签名。
我该怎么做才能通过套接字传递命令?谢谢你。