nrf52832

来源:互联网 发布:ubuntu 常用软件 编辑:程序博客网 时间:2024/05/16 19:30

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");    }    ……}
0 0
原创粉丝点击