|
|
Information
| 说明: |
建议参照本版块置顶帖内容输入必要信息 |
| 芯片型号: |
TL3218B |
| SDK及版本: |
tl_ble_sdk V4.0.4.2 |
在SDK-->vendor-->acl_peripheral_demo基础上开发,设备广播间隔一秒;由于需要持续读取其他传感器数据,使用SUSPEND省电模式,未使用DeepRetention
配置SUSPEND模式管理
blc_ll_enOsPowerManagement_module();
blc_ll_initPowerManagement_module();
blc_pm_setSleepMask(PM_SLEEP_LEG_ADV | PM_SLEEP_ACL_PERIPHR);
blc_pm_setDeepsleepRetentionEnable(PM_DeepRetn_Disable);
blc_ll_registerTelinkControllerEventCallback (BLT_EV_FLAG_SUSPEND_EXIT, user_set_flag_suspend_exit);
读取和处理外部传感器数据后,以下调用进入SUSPEND
blc_pm_setWakeupSource(PM_WAKEUP_TIMER);
blc_pm_setSleepMask(PM_SLEEP_LEG_ADV | PM_SLEEP_ACL_PERIPHR);
bls_pm_setManualLatency(0);
blc_sdk_main_loop();
代码运行后,手机端识别到设备的广播包,进入SUSPEND失败;单独调用cpu_sleep_wakeup(SUSPEND_MODE , PM_WAKEUP_TIMER, clock_time() + SYSTEM_TIMER_TICK_1S)进入SUSPEND成功
|
|