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

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

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

参考资料:

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

windows环境下TortoiseSVN多仓库(repository)转移合并(修改+转载)

http://www.lilin.net/blog/?p=1346 问题: 两个不同的版本库,放在不同的及其上,各有数个项目在里面,为了统一管理,我现在都集中在一个仓库内,然后用金山快盘,多个机器同步。 回答: 完美包含版本信息,把双库融合,方便管理同步。 自己尝试后发现问题...

金蝶 报废/补料是否会参与倒冲领料

金蝶 报废/补料是否会参与倒冲领料

产品入库倒冲领料单没有考虑报废补料数量,一般领料时则会考虑。此种情况可以通专过【报废倒冲领属料】的功能生成【生产领料单】。 请按下列方法步骤操作: 1、登录K/3主控台,依次单击【生产管理】→【生产任务管理】→【生产物料报废/补料】,双击【生产物料报废/补料单-维护】; 2、打开...

浅析电波表——美国WWVB码

浅析电波表——美国WWVB码

参考文献: http://www.nist.gov/pml/div688/grp40/wwvb.cfm http://tf.nist.gov/stations/wwvbtimecode.htm http://en.wikipedia.org/wiki/WWVB 一、WWVB码简介 WWVB与WWV...

物料新增工艺路线后是否会更新到物料计划资料中的工艺路线?

https://vip.kingdee.com/questions/141197/answers/166759 解决方案: 【概述】 当工艺路线新增时,选择缺省状态是“是”时,工艺路线审核以后会自动更新到物料的工艺路线。...

Proteus网络标号自动加一

Proteus网络标号自动加一

在原理图界面,按A(切换到英文输入法),弹出如下窗口: 将PROPERTY=VALUE改成net=P0#,那么网络标号就会从P00开始自动加一,如图所示。...

用宏定义代替printf函数

问题 有时候我们想用宏定义来决定是编译debug版本的代码还是release的代码,dubug版本的代码会通过printf打印调试信息,release版本的代码则不会。我们总不能对每一条printf都这样写: #if _DEBUG_printf("hello world!");...

发表评论

访客

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