张工1
gre5513深度睡眠调用这个pwr_mgmt_ultra_sleep函数接口,将cpu从深度睡眠唤醒是读取唤醒引脚的电平状态对?
唤醒后程序是从头开始运行相当于唤醒后是复位运行对?
要是通过按键做软件开关机有什么建议方法?
Ping
参考下《GR551x睡眠模式及功耗测量说明》1.1/1.2/1.3章节了解睡眠模式、唤醒源及休眠流程。
1. 调用 pwr_mgmt_ultra_sleep()接口后MCU进入Ultra Deep Sleep模式,即大部分模块掉电,只有部分Always On Domain设备处于工作状态,RAM without Retention,支持AON GPIO,Sleep Timer唤醒;
2. Ultra Deep Sleep 休眠唤醒流程如下,该模式下相当于关机,唤醒后系统重启;
3. Ultra Deep Sleep模式下RTC无法运行,因此如果要求时钟保持运行,建议采用Sleep模式,即检测长按键后,关闭外设所有电源及BLE功能,MCU进入Sleep模式。
152***785
在深度休眠模式下,sdk的两种一个是sleep time 唤醒,一个是管脚唤醒,那按照图中的对warmboot的位置,肯定是全部进入了reset handler。不是很理解热启动的结果会怎样,是会去寻找栈区指针,然后通过Pc寄存器继续向下走嘛
Ping
不好意思,前面给的图片有误, Ultra Deep Sleep唤醒后会进入Cold boot,只有Deep sleep下唤醒才会进入 warm boot, RAM 保持Retention状态。
Sleep模式(常用模式):MCU处于掉电状态,RF/外设可以根据使用情况处于运行态或休眠态,支持BLE Timer、Sleep Timer、Real Time Calendar、AON GPIO、AON WDT、Reset唤醒;
打开微信,使用“扫一扫”即可关注