嗨,对话框中,
我修改了你的sample128程序,按照I2C包值设置广告包中的设备名称。连接管理器软件下的设备名称是正确的。然而,在您推荐的iOS测试软件中,设备名称将显示为NVDS中的值存储。
我在app_adv_func中替换部分程序,我不认为我在NVDS中使用设备名值。
/ * #如果(NVDS_SUPPORT)
device_name_length = NVDS_LEN_DEVICE_NAME;
if (nvds_get(NVDS_TAG_DEVICE_NAME, &device_name_length, &device_name_temp_buf[0]) != NVDS_OK
# endif / / (NVDS_SUPPORT)
{
//获取默认的设备名称(如果没有足够的空间,则没有名称)
device_name_length = strlen (APP_DEVICE_NAME);
memcpy (&device_name_temp_buf [0], APP_DEVICE_NAME device_name_length);
}
*/
device_name_length = 12;
memcpy (&device_name_temp_buf [0] buf 12);
我确信buf中的数据是正确的。你能帮我一下吗?
谢谢,
你好,
不幸的是,iOS保留了它过去看过的设备的记录,并且不会刷新设备名称,除非你关闭或打开蓝牙。Android应用BlueLoupe(可在谷歌Play上使用)将反映正确的名称。
嗨MHv_Dialog,
非常感谢您的快速回复。这解决了我很多问题。我一整天都在纠结那些疯狂的名字。
谢谢,
前阵子我花了一天的时间做同样的事。非常令人沮丧!
一般来说,对于那些拥有带加密狗的专家工具包的人来说,最好的设置是运行连接管理器并将加密狗作为一个中心启动。这个设置不会遇到任何你在iOS和Android上遇到的问题。每一次扫描都是一次全新的扫描,每一次连接都通向一个完整的发现。你会看到设备到底在传输什么,而不是内存中的一些旧数据。