你好,
请问下这个函数做了些什么工作? 进入这个函数后是否就停留在这个函数中进入suspend休眠?
目前使用的是mesh_switch工程进行测试。
我们的测试是:烧写程序之后重新上电(此时还没有进行provision),然后按下一个按键并立即释放。通过打印发现如下现象:在add函数之后添加了打印(如下代码),当执行完打印之后,代码就没有再往下执行(通过后续的打印可以看出),而是进入到cb中,即mesh_switch_send_mesh_adv(). 执行完这个cb之后,才继续往下执行。
请问下,如果是在bls_pm_setAppWakeupLowPower()中进入休眠了,为什么在这个函数中只停留了9us,然后立即就执行了add函数外面的如下的打印。 如果在这个函数中没有进入休眠,为什么执行了如下打印后,就没再执行后续的代码。
你好,
bls_pm_setAppWakeupLowPower用于配置休眠的定时唤醒,该函数会记录下次用户唤醒的时间,用于休眠时的定时任务,不会直接休眠,会在blt_sdk_main_loop函数中由协议栈统一调度睡眠,请参考ble handbook,有关于ble协议栈的详细解释。