嗨
我正在尝试使用DA1458x_DSPS_v_5.150.2使用DA14583制作BLE加密狗
我的狗狗的规格之一是“在运行过程中可以改变目标BT设备(从设备)”
我可以通过修改来分配目标BT地址
Void user_on_adv_report_ind(struct gapm_adv_report_ind const * param
我改变了这个函数以接受特定的BT地址(新创建的全局变量)
我也可以通过uart更改这个全局变量(我确认了全局变量已更改)
但我总是无法断开之前的BT连接,并使用新的BT地址重新连接
我尝试了这些功能来断开当前的连接
app_disconnect_op ();app_gapm_reset_op ();app_easy_gap_disconnect (1);
他们中的一些人实际上断开了连接,以便我能发现被释放的设备
但狗狗没有重新连接到新设备,甚至它似乎停止了
我也试过
platform_reset (RESET_AND_LOAD_FW)
重新启动设备,但它没有工作(=当前连接断开,没有进一步响应)
请指导重新启动已更改BT地址的连接
设备:


嗨,黔东南州金,
您可以尝试发出GAPM_RESET_CMD命令并重新配置设备。你只需要发出一个GAPM_RESET_CMD,有一个现成的函数,它就是app_gapm_reset_msg_create()。完成该操作后,设备将获得GAPM_CMP_EVT (gapm_cmp_evt_handler()函数),操作参数设置为GAPM_RESET。所以,一旦你重置了你的设备,你应该用新的BD地址重新配置它。不过,您能不能再详细说明一下您的申请材料的规格?您想要断开连接,然后更改BD地址,然后使用新的BD地址再次发布?我理解对了吗?您可以配置bd地址,应用程序从NVDS结构获取bd地址,并且可以从CFG_NVDS_TAG_BD_ADDRESS的da1458x_config_advanced.h文件配置bd地址,如果您更改了这个,那么您的设备的bd地址也应该更改。SDK首先检查OTP Header设备id字段是否被烧毁,包含一个不同于0的值。如果Header的值不等于0,这就是设备将使用的地址。
谢谢,PM_Dialog