Firefly开源社区

标题: 透传问题 [打印本页]

作者: 二十八亩地儿    时间: 2015-12-24 10:00
标题: 透传问题
我现在做的是根据透传案例进行一些修改,就是手机APP发送指令,通过蓝牙IO口控制其它器件,并接受器件的返回值,在通过蓝牙发送到手机,其中所有的数据均是16进制。
遇到的问题时:蓝牙模块接受到的器件的返回值时正确的,但是通过ke_msg_send(msg);函数发送到手机,手机显示就错误了,是什么原因呢?
拜托大神了!!!

2.png (36.2 KB, 下载次数: 86)

2.png

1.png (20.46 KB, 下载次数: 92)

1.png

3.png (94.19 KB, 下载次数: 108)

3.png

作者: 二十八亩地儿    时间: 2015-12-24 10:03
正确的返回值是: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
作者: 二十八亩地儿    时间: 2015-12-24 10:50
在官方提供的透传BIN和APP中,使用串口助手发送十六进制 ‘91’,手机端十六进制显示会接收到‘FD’,不知道是什么原因。
作者: 二十八亩地儿    时间: 2015-12-25 16:43
自顶一下,有没有大神帮我确认一下,这是手机APP的原因,还是BLE透传的原因。因为我使用的透传数据都是十六进制的。在进行透传时,只要透传的数据大于等于0x80就会有问题。是不是BLE只能透传ASCII码啊。
作者: xiaody    时间: 2015-12-25 17:44
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。
作者: 二十八亩地儿    时间: 2015-12-28 13:15
xiaody 发表于 2015-12-25 17:44
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。

谢谢啦:lol




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1