关于蓝牙控件,测试时发现,当接收的字节数组中有 0x0, 0x80-0xFF 的数值时,会导致蓝牙DataReceived事件接收发生异常:
- 将上述字节全部识别为0x0
- 多个上述连续数据被识别成一个0x0, 设置 e.Data.Length 为0
- 将受到的byte数组分成多次接收
例如:如果接收到的数据是 byte[8] { 0x1, 0x2, 0x0, 0xFF, 0x4, 0x98, 0x2, 0x3},
DataRecived事件会将该数据分成5个包:
{ 0x1, 0x2}
{ 0x0 }
{ 0x4 }
{ 0x0 }
{ 0x2, 0x3}
这个应该是个bug,希望能进行修改 |