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

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

xjtudll11年前 (2016-01-19)技术心得16740

参考资料:

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://www.xjtudll.cn/Exp/383/

分享给朋友:

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

Android 修改preferences summary 文字的颜色

参考资料: http://stackoverflow.com/questions/4081946/android-preferences-summary-default-color 需求: preferences summary的文字颜色通常是跟随系统的,例如黑色或白色,现需要根据不同情况改变su...

LCD基本常识

1、LCD的玻璃厚度有1.1mm、0.7mm、0.55mm和0.4mm,成品总厚度分别为2.8mm、2.0mm、1.7mm和1.4mm,如果是FSTN产品,那么总厚度需要再增加0.1mm。 2、LCD的视角范围,STN产品视角范围最大,HTN产品次之,TN产品视角范围最小。对于多路产品,如果路数大于...

光耦应用笔记

1、光耦的简介及分类 光耦合器(opticalcoupler,英文缩写为OC)亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件,通常把发光器(红外线发光二极管LED)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从...

金蝶 在任务单序时簿直观查看关键件领用套数解决方案

金蝶 在任务单序时簿直观查看关键件领用套数解决方案

目前生产任务单序时簿无法很直观地查看领料套数,而标准报表《任务单领料明细表》需每一种物料都要领料才能统计出领料套数但大部分情况下,非关键件物料采用倒冲领料或者集中领料,以致于该报表无法使用。 备注:已领套数=生产任务单对应投料单的分录行的[已领数量/单位用量的最小值,但是不包括计划投料数量是0的投...

OKI单片机-如何查看编译后程序占用的RAM和ROM大小

OKI单片机-如何查看编译后程序占用的RAM和ROM大小

OKI单片机程序编译成功后,Project目录下将会多出一个map文件。通过这个文件,可以知道程序占用的RAM和ROM 1、程序占用ROM 分两种情况,第一种情况如下图: 像这种情况,占用ROM是: Total size(CODE) + Total size(TABLE) = 1916+95 =...

dell服务器阵列中硬盘的状态变成外来(foreign)的解决方法

Dell服务器硬盘的状态变成外来(foreign),然后机房就重新导入一下就可以了: dell服务器移除RAID5中1块硬盘后再插上去,硬盘的状态变成外来(foreign),如何恢复成就绪的状态? 重启服务器,注意引导信息提示 RAID控制器 相关信息时,会发现这样提示: Fo...

发表评论

访客

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