1 .在定义EXT_SLEEP_ENABLED宏之后唤醒是不是采用如下方式就可以了:
app_disable_sleep ();
如果(GetBits16 (SYS_STAT_REG PER_IS_DOWN))
periph_init ();
2 .在定义了EXT_SLEEP_ENABLED这个宏之后,在没有是不是所有的外部接口(spi, i2c等),在没有唤醒之前,都不能使用,如果我想使用外部接口是不是要在唤醒后才能用
3.在没有唤醒之前,定时器任务app_timer_set (APP_TIMER TASK_APP 5);会不会执行
4 .唤醒后想再次进入睡眠是不是采用app_set_extended_sleep
抱歉问题有点多,麻烦解答
设备:
1.对
2.是的,延长睡眠模式在睡眠情况下会把外设的电都关了,所以要用只有先唤醒
3.会执行,app_timer_set调用的是祝福的时钟,在考虑是否睡眠以及睡多长时间时,都会将之前设定的BLE计时器计算在内
4.对,这样就可以设回延长睡眠模式,之前在需求方工程下做过一个按键睡眠的代码,可以参考:
空白app_button_press_cb(空白)
{
如果(GetBits16 (SYS_STAT_REG PER_IS_DOWN)) {
periph_init ();
}
如果(arch_get_sleep_mode () = = ARCH_SLEEP_OFF)
{
app_easy_gap_advertise_stop ();
arch_set_sleep_mode (ARCH_EXT_SLEEP_ON);
user_sps_set_mode (ARCH_EXT_SLEEP_ON);
user_scheduler_reinit (); / /
arch_ble_ext_wakeup_on ();
}
app_button_enable ();
}