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

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

xjtudll10年前 (2016-01-19)技术心得15580

参考资料:

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

Proteus error:

Proteus error:"probe object xxx is ambigously placed"

Proteus仿真时,在添加电流探针以后,提示error "probe object xxx is ambigously placed" 如图所示: 原因: 电流探针仿真的时候那个电流的符号要和导线的方向一致 出现问题就是因为这个 解决办法: 改变电流探针方向,使之与导线方向...

PHP安装之后没有php.ini文件

问题: 多数教程都说修改php.ini,但是在安装目录里找了半天,根本没有php.ini,只有: php.ini-development php.ini-production 答案: 其实php.ini就是上述两个文件任选一修改而来。 当然,测试的话更合适的是php.ini-develo...

金蝶 从旧账套拷贝供应链单据的自定义字段到全新帐套

金蝶 从旧账套拷贝供应链单据的自定义字段到全新帐套

补充几点:1、K3的官方的工具(K3单据自定义字段复制工具),要求在官方服务期,否则工具直接报错 2、涉及的表应该有以下几个:GLNoteCitationGLNoteTypeICChatBillTitleICClassTableInfoICClassTableInfoLayoutICTemplate...

关于数码管动态扫描

大家知道驱动一个或者两三个数码管,如果单片机有足够的IO口,我们可以用静态显示,至于什么是静态显示(动态显示的基础),这里不做阐述。 但如果,或者假如我们要点亮8个数码管或者更多,而恰恰单片机IO口不够用的情况下(扩展IO口的不讲),这是就必须用到动态扫描的显示方式了。 什么是数码管动态扫描?所谓...

RFID原理通俗讲解

最近,公司有项目用到了RFID,对RFID原理一直不甚了解。网上看到一篇好文,共享之。 原文网址:http://blog.21ic.com/user1/914/archives/2012/89510.html 以13.56MHz的RFID技术为例,分为读卡器和卡。读卡器是跟电源接的,当卡靠近读...

win7怎样彻底删除打印机驱动

win7怎样彻底删除打印机驱动

https://zhidao.baidu.com/question/1802002455667765027.html 1、开始---设备和打印机:随便选择一个打印机图标,选择打印机服务器属性; 2、单击打印服务器属性---驱动程序---删除,选择删除驱动程序和驱动程序包,点确定; 3、无法删除...

发表评论

访客

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