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

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

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

参考资料:

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

SQL Server 2012 自动增长列,值跳跃问题(自增增加1000)【转载】

SQL Server 2012 自动增长列,值跳跃问题(自增增加1000)【转载】

介绍从 SQL Server 2012 版本开始, 当SQL Server 实例重启之后,表格的自动增长列的值会发生跳跃,而具体的跳跃值的大小是根据增长列的数据类型而定的。如果数据类型是 整型(int),那么跳跃值为 1000;如果数据类型为 长整型(bigint),那么跳跃值为 10000。从我们...

File.Create创建文件后,需要释放

重点就是要close if (!File.Exists(SavePath))             {       ...

C# XmlSerializer无法创建文件或目录

C# XmlSerializer无法创建文件或目录

现象: 在某一台XP机器上,时而正常,时而弹出无法创建文件或目录 错误具体信息: 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) 在 System.IO.FileStream.Init(String path...

后缀名为.Q的文件为什么用按键精灵无法打开

后缀名为.Q的文件为什么用按键精灵无法打开

问题:.Q文件无法用按键精灵直接打开 解决办法: 将文件放在按键精灵目录 QMScript文件夹里。然后在按键精灵上刷新就有了 以“我的脚本.Q”为例,...

MSP430如何得知程序代码的大小

MSP430如何得知程序代码的大小

用过Keil编译C51程序的兄弟们都知道,Keil在编译程序之后,会有一段message提示用户程序占用的RAM和ROM。而用IAR编译MSP430程序的时候,却没有任何关于程序大小的信息。一直以来,我都以为IAR无此功能,后来才发现是编译器设置的问题,编译器配置如下: Tools->Opt...

ios 获取应用程序的名称和版本号

.wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertical-align: -10%;-webkit-user-select: none;} .wiz-to...

发表评论

访客

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