微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > cc254x切换MAC地址后配对PIN码错误的问题请教

cc254x切换MAC地址后配对PIN码错误的问题请教

时间:10-02 整理:3721RD 点击:

我用CC254X测试HidEmuKbd例程,HidEmuKbd设置了配对密码654321,广播后手机可以找到设置,输入654321可以绑定成功。

连接后,发送切换MAC地址指令,模块收到指令后断开与手机的连接,修改HidEmuKbd的MAC地址,然后再广播,这时候手机会查找到新HidEmuKbd设备,但是在连接时输入654321提示PIN或配对密钥不正确。

我也曾经使用过HidEmuKbd_Init函数重新初始化,同样提示PIN码不正确,请问我应该如何在运行时修改MAC地址而不影响配对呢?

用下切换的代码如下:

GAPRole_GetParameter(GAPROLE_BD_ADDR, macAddress);
HCI_EXT_DisconnectImmedCmd(gapRole_ConnectionHandle);
macAddress[0] = 0x03;
HCI_EXT_SetBDADDRCmd(macAddress); 
uint8 param = TRUE;
GAPRole_SetParameter( GAPROLE_ADVERT_ENABLED, sizeof( uint8 ), &param );

也使用过重新执行初始化函数

HidEmuKbd_Init(hidEmuKbdTaskId);

Feng,

这应该是因为你的遥控器上,也记录了手机的配对信息。

你在断开和手机连接后,修改mac地址,还需要删除和手机的配对信息,这个可以通过调用bond manager的接口来实现。

我在系统初始化里执行了清绑定操作GAPBondMgr_SetParameter( GAPBOND_ERASE_ALLBONDS, 0, NULL );,然后断开连接、切换MAC地址、重新广播,绑定时还是出现同样的错误

在我尝试将要修改MAC地址保存到FLASH,然后通过软件复位HAL_SYSTEM_RESET();,上电时在HidEmuKbd_Init中判断并更新MAC地址,在绑定时是正常的,但是这样会导致RAM里的数据丢失。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top