我现在做的是根据透传案例进行一些修改,就是手机APP发送指令,通过蓝牙IO口控制其它器件,并接受器件的返回值,在通过蓝牙发送到手机,其中所有的数据均是16进制。
遇到的问题时:蓝牙模块接受到的器件的返回值时正确的,但是通过ke_msg_send(msg);函数发送到手机,手机显示就错误了,是什么原因呢?
拜托大神了!!!
正确的返回值是:0xa2 0x13 0x10 0x91 0xff 0xff 0x81 0x15 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
而手机接受的是:0xFD 0x13 0x10 0xFD 0xFD 0xFD 0xFD 0x15 0xFD 0xFD 0xFD 0xFD 0xFD 0xFD 0xFD 0xFD
在官方提供的透传BIN和APP中,使用串口助手发送十六进制 ‘91’,手机端十六进制显示会接收到‘FD’,不知道是什么原因。
自顶一下,有没有大神帮我确认一下,这是手机APP的原因,还是BLE透传的原因。因为我使用的透传数据都是十六进制的。在进行透传时,只要透传的数据大于等于0x80就会有问题。是不是BLE只能透传ASCII码啊。
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。
xiaody 发表于 2015-12-25 17:44
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。
谢谢啦:lol


