我的应用程序中的BLE设备(基于DSPS)从连接到UART的主机读取设备名称。读取操作在启动时开始,需要几秒钟。设备名在app.c中的app_easy_gap_non_connectable_advertise_start_create_msg()和app_easy_gap_undirected_advertise_start_create_msg()函数中读取到目前为止我是正确的。在我看来,这些函数在初始化期间只被调用一次。是否有任何方法设置或更改设备名称扫描响应后的初始化?
谢谢你的帮助。
关键词:
设备:
嗨jknorr,
在运行时可以像更改广告字符串一样更改扫描响应数据,这意味着必须停止广告更改数据,然后使用更新后的数据重新开始广告。DSPS应用程序没有更新其广告数据的机制,因此设备只是用NVDS结构中的数据启动广告过程,而这些数据是由user_config.h函数填充的。因此,为了更新扫描响应数据,你必须在特定条件下停止广告(通常它是一个计时器,但它可以是任何你想要的),并在扫描响应数据中设置一个新的消息在gapm_start_advertise结构。您可以在ble_app_barebone示例中找到一个示例(该示例用于更改广告数据,但同样的过程也适用于扫描响应数据)。在user_barebone.c文件中检查user_app_adv_start()函数。
由于MT_dialog
你好,
这是工作!
谢谢你的帮助。