嗨
我正在尝试使用DA1458x_DSPS_v_5.150.2制作带有DA14583的BLE加密狗
我的狗的一个规格是“可以在运行过程中改变目标BT设备(从设备)”
我可以通过修改给目标分配BT地址
在user_sps_host.c中的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)
重启设备,但不工作(=当前连接断开,没有进一步响应)
请提供一个指南,重新启动连接与chaged BT地址
设备:
嗨,黔东南州金,
您可以尝试发出GAPM_RESET_CMD命令并重新配置设备。有一个ready函数可以完成这个任务,它是app_gapm_reset_msg_create()。完成此操作后,设备将获得一个GAPM_CMP_EVT (gapm_cmp_evt_handler()函数),操作参数设置为GAPM_RESET。因此,一旦您重置您的设备,您应该用新的BD地址重新配置它。但是,您能再详细说明一下您的申请吗?你想断开连接,然后更改BD地址,然后用新的BD地址再次发布广告?我理解正确吗?您可以配置bd地址,应用程序从NVDS结构中获取bd地址,而bd地址可以从CFG_NVDS_TAG_BD_ADDRESS中的da1458x_config_advanced.h文件中配置,如果您更改了这个,那么您的设备的bd地址也应该更改。虽然SDK首先检查OTP头设备id字段是否已烧毁,但它包含一个不等于0的值。如果头的值不等于零,这是设备将使用的地址。
谢谢,PM_Dialog