你好
我发现有时DA14680会在pm_设置_睡眠_模式(pm_模式_休眠)后重新启动。我实现它的方式是在电路板上有一个按钮,如果单击该按钮,它将运行pm_set_sleep_mode(pm_mode_hibernation)。
我用的是cunstom板。DA14680是否会重新启动取决于具体情况,总结如下。
DA14680进入休眠和不重新启动案例:
--在suota_initial_flash_jtag_win项目之后。在这种情况下,单击按钮后,它将保持休眠模式。
--使用J-link RTT查看器并执行文件->连接。它重置电路板,点击按钮后,将保持休眠模式。
DA14680进入休眠状态并在以下时间后立即重新启动:
--硬件重启(断开电源并重新连接)后,如果单击按钮,DA14680将自行重启,不会进入休眠模式。
--从休眠模式启动后,如果单击按钮,DA14680也将重新启动,不会进入休眠模式。
我很困惑这怎么会发生。你能给我一些见解吗?非常感谢你!
设备:
嗨,慧慧,
请问DA1468x的版本是什么?是DA14680/681还是DA14682/3?此外,您是否使用自己的应用程序代码?
一般性,为了使系统进入休眠模式,您应确保您没有任何与闪存、外围设备等相关的活动。为此,您应注意:
当设备退出休眠模式或休眠失败时,会发生冷启动,这意味着应用程序代码从头开始执行(如硬件重置)。
请在下面找到一些步骤,以便使用SDK的ble_外围示例将系统置于休眠状态。更改应应用于ble_peripheral_task.c文件:
1.设置OS_定时器()以在15秒后停止广告:
2.在ble_外围任务中启动计时器:
3.计时器到期后,停止广告。这样会触发handle_evt_gap_adv_completed(),系统将进入休眠状态。
4.我不知道您使用的是哪个闪存,因此请确保您的配置正确。
谢谢,下午好