32B1LE14低功耗测试及问题
-
开发环境:32B1LE14 + FreeRtos + YTC
参考论坛某篇帖子,进入低功耗后,由UART唤醒。1- sleep模式: 代码如下
// .关闭看门狗 WDG_DRV_Deinit(0); // .关闭不需要的外设 ADC_DRV_Reset(0); MPWM_DRV_Deinit(0); // .进入低功耗(sleep模式,其它模式无法唤醒) POWER_SYS_SetMode(1, POWER_MANAGER_POLICY_AGREEMENT); // .退出低功耗(复位重启) SystemSoftwareReset();实测是可以的,sleep模式下内核停运,代码不再运行。因为退出sleep模式后直接复位处理,挂os也没问题。
YTC下关闭FXOSC(其它时钟关不了)后,sleep模式下的电流约为1mA(主频3MHz),基本满足需要。
2- deepsleep或standby模式:
表现为能进入低功耗,但UART唤醒不了。3 - 疑问:
-
低功耗模式下看门狗会关闭,此时是否存在风险,比如MCU异常,唤醒不了的情况;
-
deepsleep或standby模式唤醒不了,是不是漏了某些设置环节
-
-
你还要考虑一下你的外设是否按预期给出唤醒信号。建议你用standby模式,lptimer周期唤醒,检测外设是否还正常。这样就可以兼顾功耗和可靠性。
快速上手云途开发生态
发帖前请查看
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...