Topic

FAQ
Login Register
bls_pm_setAppWakeupLowPower(blt_timer.timer[0].t, 1)
Jun 28, 2023 15:03

/

A

/A

你好,

请问下这个函数做了些什么工作?  进入这个函数后是否就停留在这个函数中进入suspend休眠? 

目前使用的是mesh_switch工程进行测试。

我们的测试是:烧写程序之后重新上电(此时还没有进行provision),然后按下一个按键并立即释放。通过打印发现如下现象:在add函数之后添加了打印(如下代码),当执行完打印之后,代码就没有再往下执行(通过后续的打印可以看出),而是进入到cb中,即mesh_switch_send_mesh_adv(). 执行完这个cb之后,才继续往下执行。

请问下,如果是在bls_pm_setAppWakeupLowPower()中进入休眠了,为什么在这个函数中只停留了9us,然后立即就执行了add函数外面的如下的打印。 如果在这个函数中没有进入休眠,为什么执行了如下打印后,就没再执行后续的代码。



1 replies
TL_Soyo Jun 29, 2023 10:29
0
/A

你好,

 bls_pm_setAppWakeupLowPower用于配置休眠的定时唤醒,该函数会记录下次用户唤醒的时间,用于休眠时的定时任务,不会直接休眠,会在blt_sdk_main_loop函数中由协议栈统一调度睡眠,请参考ble handbook,有关于ble协议栈的详细解释。