当前位置:首页 > 技术心得 > 正文内容

CC2541 HOGP Android 5.x无法自动回连

xjtudll9年前 (2016-01-19)技术心得12550

参考资料:

https://e2e.ti.com/support/wireless_connectivity/bluetooth_low_energy/f/538/t/406142

问题:

使用CC254x做BLE键盘,利用HOGP(HID Over Gatt Profile),成功实现了键盘的功能。首次与android 5.x连接成功后,可以成功的成为键盘,可以输入字符,数字等等。

我们知道,cc254x hiddev 默认一段时间后,没有操作,就会自动睡眠并断开蓝牙连接。正常情况下,如果睡眠后操作键盘,CC254x应该自动唤醒,并成功与android重连。而实际情况是:无法重连。但是用别的app可以知道CC254x已经在广播了。

原因:

可能与hiddev的广播数据有关,默认情况下,hiddev是白名单广播的。简单地说,就是CC254x会记住主机的MAC Address。而不幸的是,使用Resolvable  Private Address (RPA)的主机(ios,android5.x及其以上)会周期性的更改其MAC address(CC254x得到的MAC address是变动的)。因此,即便唤醒后广播,也无法自动重连。

解决办法:

去掉白名单广播,改成所有的设备都能收到其广播。修改HidDev.c 里的宏,将HID_AUTO_SYNC_WL改成FALSE。

a257d9e5-df56-48ba-ba45-7cf0ab203643

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/383/

分享给朋友:

“CC2541 HOGP Android 5.x无法自动回连” 的相关文章

Keil WARNING L16: UNCALLED SEGMENT……解决

Keil WARNING L16: UNCALLED SEGMENT……解决

Keil默认情况下会给所有的代码分配使用空间的,如果某些函数没被调用过,Keil则会给出警告 Warning L16:Uncalled Function(Segment),Ignored For Overlay Process。 这个警告本身不关键,关键是不使用的函数居然占用了ROM。如何解决这个...

Android Studio升级至3.1出现AAPT2 error的解决办法

Android Studio升级至3.1出现AAPT2 error的解决办法

android studio从2.3升级到3.1.3之后,编译提示:AAPT2 error: check logs for details 网上的方法一堆,但几乎都没啥用。以下部分内容引用简书: https://www.jianshu.com/p/2a63c5710ee9 1:Android Stu...

穆斯林祈祷时间定义

穆斯林每天祈祷五次,时间有规定,需要在一个特定的时间段。五次祈祷分别是:晨礼、晌礼、晡(bū)礼、昏礼和宵礼。如下表所示: 名 称...

php Undefined index和Undefined variable的解决方法

参考资料:http://www.jb51.net/article/13974.htm 问题: 上传一个PHP网站到服务器,提示: PHP Notice: Undefined index: user in C:\inetpub\wwwroot\xonixwatch.com\manager\index....

如何去掉页眉的表格后的回车

如何去掉页眉的表格后的回车

原文链接:http://club.excelhome.net/forum.php?mod=viewthread&tid=901578&highlight=&jdfwkey=piezu 想在页眉里加入一个表格,但是加入表格后,表格后多了一行回车,导致页眉与正文之间有较大的间距,...

如何扩展SyntaxHighlighter

    在做这个工作之前,你需要对JavaScript有比较深入的了解,尤其需要熟悉正则表达式。如果网络已经存在你需要拓展的加亮库,那就不用自己搞了,直接选用。另外,如果你需要拓展的语言跟已经存在的加亮库类似,那么可以修改它。比如,C51是在C上扩展而成,所以我们可以选...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。