CC2541 hidAdvRemote重连问题
1、把CC2541 hidAdvRemote例程改成直接用安卓手机连接,键值可以正常发送到安卓;但是超时断开或者断电再重连后就收不到键值了,必须取消配对再重新配对才可以,请问这个可能是什么原因引起的呢?请帮忙分析,谢谢。
Gavin Ren,
HID是需要在加密的链路上发送按键值的。你可能没有用绑定,也没有主动发起配对,导致第二次重连的时候链路并没有加密,所以需要重新配对才能发送按键。
建议你把DEFAULT_BONDING_MODE 设置成TRUE。
或者,把 DEFAULT_PAIRING_MODE 改成 GAPBOND_PAIRING_MODE_INITIATE
好的,感谢及时的回复,我马上找机器试一下
我对比了一下Emukbd和hidAdvRemote都是直接发的键值,但是hidAdvRemote用手机连接就可以收到键值,Emukbd一直收不到,请Ti的大师帮忙分析一下,感谢!
Hi Y,
DEFAULT_PAIRING_MODE 配置的是GAPBOND_PAIRING_MODE_INITIATE
1、DEFAULT_BONDING_MODE改成true从机断开后再唤醒就不能重连了;
2、DEFAULT_BONDING_MODE配置成false情况下从机唤醒可以重连成功,但是键值发不出去,跟踪发现在
static void hidDevSendReport( uint8 id, uint8 type, uint8 len, uint8 *pData )函数中
value = GATTServApp_ReadCharCfg( gapConnHandle, (gattCharCfg_t *) pAttr->pValue );
if ( value & GATT_CLIENT_CFG_NOTIFY )
{
......
GATT_Notification( gapConnHandle, &lastNoti, FALSE );
......
}条件不成立,后面的Notification没有发出去,
请帮忙分析,感谢
请问您的问题解决没?
我想请教下,我也遇到相同的问题,不知道如何处理?