Firefly开源社区

打印 上一主题 下一主题

透传问题

81

积分

0

威望

0

贡献

技术小白

积分
81

透传问题

发表于 2015-12-24 10:00:41      浏览:7270 | 回复:5        打印      只看该作者   [复制链接] 楼主
我现在做的是根据透传案例进行一些修改,就是手机APP发送指令,通过蓝牙IO口控制其它器件,并接受器件的返回值,在通过蓝牙发送到手机,其中所有的数据均是16进制。
遇到的问题时:蓝牙模块接受到的器件的返回值时正确的,但是通过ke_msg_send(msg);函数发送到手机,手机显示就错误了,是什么原因呢?
拜托大神了!!!

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

2.png

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

1.png

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

3.png
回复

使用道具 举报

81

积分

0

威望

0

贡献

技术小白

积分
81
发表于 2015-12-24 10:03:45        只看该作者  沙发
正确的返回值是: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
回复

使用道具 举报

81

积分

0

威望

0

贡献

技术小白

积分
81
发表于 2015-12-24 10:50:51        只看该作者  板凳
在官方提供的透传BIN和APP中,使用串口助手发送十六进制 ‘91’,手机端十六进制显示会接收到‘FD’,不知道是什么原因。
回复

使用道具 举报

81

积分

0

威望

0

贡献

技术小白

积分
81
发表于 2015-12-25 16:43:00        只看该作者  地板
自顶一下,有没有大神帮我确认一下,这是手机APP的原因,还是BLE透传的原因。因为我使用的透传数据都是十六进制的。在进行透传时,只要透传的数据大于等于0x80就会有问题。是不是BLE只能透传ASCII码啊。
回复

使用道具 举报

47

积分

0

威望

0

贡献

游客

积分
47
QQ
发表于 2015-12-25 17:44:33        只看该作者  5#
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。
回复

使用道具 举报

81

积分

0

威望

0

贡献

技术小白

积分
81
发表于 2015-12-28 13:15:27        只看该作者  6#
xiaody 发表于 2015-12-25 17:44
JAVA byte类型范围(-128 ~ 127)问题,当大于128,就认为是负值。。强制转换下就好了。。通讯没有问题。

谢谢啦:lol
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表