您好,定义休眠模式为扩展休眠模式: #define CFG_MEM_MAP_EXT_SLEEP #undef CFG_MEM_MAP_DEEP_SLEEP 在休眠时调用函数如下: void set_sleep(void) { arch_ble_ext_wakeup_on(); arch_set_sleep_mode(ARCH_EXT_SLEEP_ON); } 休眠可以进入,但休眠时仍有广播发出; arch_ble_ext_wakeup_on();不是“Puts the BLE core to permanent sleep. Only an external event can wake it up.”吗?也就是让BLE core永久休眠,只有外部时间可以唤醒吗?,现在仍有广播说明BLE core还是会被唤醒的,为什么呢?
但我在休眠时时调用停止广播就没有广播发出了,BLE core也不在唤醒了,如下: void set_sleep(void) { app_easy_gap_advertise_stop(); arch_ble_ext_wakeup_on(); arch_set_sleep_mode(ARCH_EXT_SLEEP_ON); } 为什么呢?
您好,我又遇到了新的问题: 按照您上边的说法,我断开连接,停止广播,休眠后的确没有广播了,但休眠醒来后有时候也会没有广播 1:是不是需要在唤醒时手动打开广播? 2:我在唤醒后调用: static void app_wakeup_cb(void) { // If state is not idle, ignore the message //if (ke_state_get(TASK_APP) == APP_CONNECTABLE) { EXECUTE_DEFAULT_OPERATION_VOID(default_operation_adv); } } 仍然没有广播,我该怎么做?