nrf52832 - HID

1、实验环境

硬件平台:nordic Nrf2832官方开发板

sdk版本:nRF5_SDK_12.1.0_0d23e2a

实验例程:ble_app_hids_keyboard

2、实现现象

直接运行官方demo,手机或者pc可扫描到hid设备并且可以成功连接,通过按键实现hello的发送,但是取消配对后,再次连接发现不能连接成功。重启开发板也不行,重新烧录应用文件也不行,只有全部擦除flash,重新烧录softdevice和应用程序,才可以重新连接。

3、问题分析

分析源码,发现源码中使用了绑定和白名单,首次绑定设备后,会将绑定信息写入flash中,下次广播将执行白名单,导致其它设备不能扫描连接。

4、解决方案

4.1、通过开机擦除绑定信息,可以在每次重启设备后,能被其它主机连接一次。擦除绑定信息所需修改初始化代码,如下:

/**@brief Function for application main entry.
 */
int main(void)
{
    bool     erase_bonds;
    uint32_t err_code;

    // Initialize.
    err_code = NRF_LOG_INIT(NULL);
    APP_ERROR_CHECK(err_code);

    timers_init();
    buttons_leds_init(&erase_bonds);
    ble_stack_init();
    scheduler_init();
    //使erase_bonds == true,即可擦除绑定信息
    erase_bonds = true;
    peer_manager_init(erase_bonds);
    if (erase_bonds == true)
    {
        NRF_LOG_INFO("Bonds erased!\r\n");
    }
    ……
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路人 假

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值