嗨,对话,
我修改了ble\u examples\ble\u app\u peripheral下的示例项目
睡眠模式设置为ARCH\ EXT\ U sleep\ ON。代码调用函数arch_ble_ext_wakeup_on();我预计这会导致芯片在archïu main.c下的main函数结束时进入休眠模式,并且在没有外部中断的情况下不会唤醒。不过,芯片仍在继续做广告。根据睡眠模式电流测量教程,第11页
“在进入睡眠模式之前,可以通过调用API:app_ble_ext_wakeup_on()禁用它;
这将禁用所有可恢复事件和周期性事件。”
我在试着理解是什么唤醒了芯片,这样广告就可以继续了。此外,我如何才能正确地禁用定期唤醒和进入睡眠。最后,我将使用深度睡眠模式,但我不能测试,现在不烧OTP。
谢谢
设备:

你好,朱伯特曼,
本教程基于SDK的proxèu reporter示例。您在ble\u app\u外设示例中所遵循的过程不会停止广告并将设备置于延长睡眠模式。如果您打开了“外部睡眠”,则会在系统初始化时设置默认的睡眠模式,但设备会唤醒并开始播放广告。如果将断点添加到用户\u app \u adv \u start()中,您可以检查它,并且会看到断点命中。将DA14585设置为睡眠模式有两个选项。第一种是在广告间隔期间将其置于延长睡眠模式,但芯片将继续广告。您可以通过在用户app\u adv\u start()中执行arch\u set\u extended\u sleep(false)来实现这一点。第二种选择是停止广告并将设备置于延长睡眠模式。对于此选项,我强烈建议您检查实现此功能的SDK的ble\u app\u睡眠模式示例。你也可以看看7.6支柱5(睡眠模式)的一节UM-B-080 DA14585和DA14586软件开发人员指南(SDK 6.0.8)有关此示例的详细信息,请参阅文档。
谢谢,下午好
谢谢。这很有帮助。