#if (PM_DEEPSLEEP_RETENTION_ENABLE) bls_pm_setSuspendMask (SUSPEND_ADV | DEEPSLEEP_RETENTION_ADV | SUSPEND_CONN | DEEPSLEEP_RETENTION_CONN);#if(UI_KEYBOARD_ENABLE) if(scan_pin_need || key_not_released ) { bls_pm_setManualLatency(0); } #endif
时间: 2023-09-10 08:12:35 浏览: 84
RH850_CS+_DeepSleep_Wakeup_INTP12
5星 · 资源好评率100%
这是一个条件编译指令,主要是用于设置芯片进入深度睡眠模式时需要保留的状态。
首先,`PM_DEEPSLEEP_RETENTION_ENABLE` 变量的值应该是一个布尔类型,它表示是否启用深度睡眠保留功能。如果该变量的值为真,则执行下面的语句。
`bls_pm_setSuspendMask` 是一个函数,用于设置芯片进入睡眠模式时需要保留哪些状态。其中 `SUSPEND_ADV` 和 `SUSPEND_CONN` 分别表示广播和连接状态的保留掩码,而 `DEEPSLEEP_RETENTION_ADV` 和 `DEEPSLEEP_RETENTION_CONN` 分别表示广播和连接状态的深度睡眠保留掩码。
最后,如果启用了UI_KEYBOARD_ENABLE功能,且 `scan_pin_need` 变量或 `key_not_released` 变量的值为真,就会调用 `bls_pm_setManualLatency` 函数,将芯片的睡眠延迟设置为0。
阅读全文