亲爱的对话:,
我们已经创建了一个BLE软件版本,我们从外围角色开始做广告。当我通过LightBlue连接到设备时,我可以看到电池服务器suota服务器服务。
按下按钮后,我间歇性地将角色更改为观察者(通过GAPM\U RESET\U CMD和app U configuration_UFUNC),并扫描一段时间,然后返回外围角色(通过GAPM_UReset\u CMD和app_configuration\u func),然后重新开始广告。我只遵循了几个线程,您解释了应该如何完成。
这一切都很好,除了当我再次通过LightBlue连接到设备时,不再有服务。在我给设备通电之前,情况仍然如此,之后我确实再次看到服务。
当执行GAPM\U RESET\U CMD时返回外围角色时,初始化的某些部分是否未执行?如果是这样,为了能够获得与最初相同的服务,我需要更改或调用什么?
设备:
嗨保罗。黛博,
服务在系统初始化时初始化。请检查调用默认\u init()上的默认应用程序的用户\u init()回调函数。在该函数中,当设备启动时,所有服务都将初始化。我认为GAPM_ureset\ucmd可能不会对包含的服务造成任何问题,您应该能够在BLE通用移动应用程序中看到它们。您能在调试模式下运行固件,并检查发送GAPM\u RESET\uCmd命令以重新启动广告时发生的情况吗?代码是否卡在某个地方或它运行正确?
谢谢,下午好
我确信app_uitt没有被调用,因此app_uinit func没有被调用,我在这个方法上有断点,它们不会被击中。我已经注意到应用程序\u env.next_uprf init=app\u prf_LIST_START+1;没有完成,所以应用程序\u db_uinit ufunc没有做任何事情。我认为代码没有卡在里面,因为其他一切都正常,我可以连接和断开与外围设备的连接,这证明代码是有效的。
嗨保罗。黛博,
我无法在我身边复制它。我正在使用SDK5.0.4和I切换角色的修改的ble_UAPP_U休眠模式示例,按下按钮(SW3按钮用于唤醒设备)。我可以看到,每次我连接移动应用程序时,所有的服务都被使用。为此,您能否分享您遵循的步骤以及您正在使用哪个SDK示例来复制您的问题?
谢谢,下午好
我们使用的是SDK 3.0.10.1,但是让我看看是否可以想出一个复制行为的示例项目
嗨保罗。黛博,
SDK3当前不受支持,因此建议您转到最新版本的SDK5.0.4,然后尝试实现“角色切换”功能。
谢谢,下午好