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

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

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

参考资料:

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

两个路由器连接设置

两个路由器连接在一起,有两种方式,为表述方便,以A、B代替路由器名称 一、A路由器当路由器用,B路由器当交换机用 组网方式:A的LAN口接B的任意一个LAN口,A和B的其余LAN口接PC,两台路由器最多可供6台PC上网。 A路由器的设置方式就不说了,重点是要开启DHCP,且要设置自动分配的IP范围...

Allegro测量距离如何同时显示mil和mm双单位

Allegro测量距离如何同时显示mil和mm双单位

点击Setup菜单→User Preferences...(用户参数设置) 打开下面的对话框,选择Display→Element(元素)→show measure_altunits(显示测量所有档位)选项卡选择millimeters。 然后测量后显示的距离效果如下图所示...

Keil WARNING L16: UNCALLED SEGMENT……解决

Keil WARNING L16: UNCALLED SEGMENT……解决

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

DB9串口引脚定义

DB9串口引脚定义

DB9针式(DB9/F 公)  DB9孔式(DB9/M 母)DB9串口引脚定义如下:  针脚 功能 针脚 功能...

光耦,大有用处

光耦,百度百科是这样说的:耦合器(optical coupler,英文缩写为OC)亦称光电隔离器,简称光耦,是开关电源电路中常用的器件。耦合器以光为媒介传输电信号。它对输入、输出电信号有良好的隔离作用,所以,它在各种电路中得到广泛的应用。目前它已成为种类最多、用途最广的光电器件之一。光耦合器一般由三...

iOS:TabBar的图片不显示,只显示灰色的正方形

问题: tabbar上的图片变成一块正方形的灰色块块,原先的图片没有了。 原因: tabbar上的图片本质上不是一个图片,而是一个形状图片。系统对我们使用的图片也只是把其中的形状"抠"出来,其余的背景什么的都不要。因为我们可能给背景加了颜色,所以系统"抠"的时...

发表评论

访客

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