关于Extended sleep mode + advertising,advertising时程序逻辑

2 posts / 0 new
Last post
mortimer
Offline
Last seen:1 year 5 months ago
加入:2017-07-19 02:59
关于Extended sleep mode + advertising,advertising时程序逻辑

如题,DA14580可以设置为Extended sleep mode + advertising,并可自定义advertising时间间隔,设置完此模式后,进入休眠,但对于整个休眠--唤醒--广播--休眠流程一直没看明白
1:哪里设置的经过一定时间后唤醒(有在文档上看到用32K时钟唤醒,但这个时间是在哪里设置进去的不太明白),是在函数app_easy_gap_non_connectable_advertise_start_create_msg()中的这里吗?如下:
cmd->intv_min = adv_interval;
cmd->intv_max = adv_interval;
2:如果是,到上边设置的时间后,mcu唤醒后是运行这里吗?如下:
void BLE_WAKEUP_LP_Handler(void)
{
if (wakeup_lp_comp == 0)
{
wakeup_lp_comp = 1;
……………………
3:上边中断执行完后产生了软件中断BLE_SLP_IRQn /* End of Sleep mode interrupt.,这时程序是来到原来进入休眠的地方(main_func()里的WFI())开始执行吗?
4:若上边说法成立,程序会重新回到main_func()里的schedule_while_ble_on(),调用 rwip_schedule();//execute messages and events,但messages and events是从哪里发出的呢?
5:advertising even处理完后进入休眠的逻辑是什么?

期待您的指导,谢谢!

Device:
Qinjiny_Dialog
Offline
Last seen:1天15小时ago
工作人员
加入:2016-11-01 05:47
关于睡眠程序逻辑,请参考资料UM-B-006

关于睡眠程序逻辑,请参考资料UM-B-006 Sleepmode Configuration. 睡眠指定时间的唤醒可以用easy timer的api来做