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

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

xjtudll8年前 (2016-01-19)技术心得10810

参考资料:

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无法自动回连” 的相关文章

运放芯片不用的输入端的处理

本文转载自21IC论坛。 对于数字器件,尤其是CMOS器件,不用的输入端不能悬空,这个道理好像已经尽人皆知了。至少在21IC,时不时就会有人发帖让大家“温习”这个问题。但对于模拟器件,好像认识还有些模糊。 就以运放为例。多运放芯片中不用的运放怎么处理,好像是新手们的一个共同疑问。(有这个疑问是好...

清理金蝶用户异常登录信息SQL语句

重点:删除 t_userprofile 表中某用户的信息 1. 打开帐套管理,找到该帐套,备份帐套 备份完帐套后, ,选中该帐套,然后点属性,在帐套属性里复制数据库实体名 2.在电脑开始程序里打开查询分析器 直接点确定进入 在查询框里输入 use,然后将复制的数据库实体名粘贴其后面,中间要有空白,...

大胆假设,小心求证

今天,捣鼓利尔达心电DEMO仪,主要是为了验证自己写的心率处理程序是否正确。结果,怎么捣鼓电压都不正常。用锂电池通过一个3V的LDO给系统供电。供电前,测试LDO输出电压正常,3.04V,结果一接上电路板,电压立马被拉至2V,有时甚至1.5V。从现象来看,首先怀疑的是DEMO板存在短路现象,电流过大...

SQL Server 数据类型xtype

xtype=34 'image' xtype= 35 'text' xtype=36 'uniqueidentifier' xtype=48 'tinyint' xtype=52 'smallint' xtype=56 'int' xtype=58 's...

Excel引用单元格地址的方法

单元格本身有两种表示方式: 1、列用字母,行用数字 例如:A1表示第一行第一列,A2表示第二行第一列 2、R表示行,C表示列 例如:R1C1就表示1行1列,R5C8就表示第5行第8列。 Excel单元格地址引用有两大方式:相对引用和绝对引用。 (1) 对于第一种单元格表示方式(A1) 其相对引用和绝...

MSP430 fail to initialize device解决

MSP430 fail to initialize device解决

日前,在用MSP430 USB仿真器下载程序的时候,突然提示“fail to initialize device”,碰到这个问题,我的第一反应就是检查下载线与单片机是否连接正确,仔细检查了一遍连线,发现连接无误,但是就是每次都提示“fail to initialize device”,然后无法...

发表评论

访客

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