STM32F103三种低功耗模式的区别
STMF103的三种低功耗模式
睡眠模式(sleep_mode),停机机模式(stop_mode),待机模式(standby_mode)
唤醒之后代码运行流程
睡眠模式
睡眠模式唤醒之后,代码从睡眠模式进入的下一条语句执行。
停机模式
停机模式唤醒之后,代码从停机模式进入的下一条语句执行。
待机模式
待机模式唤醒后的代码执行等同于复位后的执行
进入Standby模式后,只能有Wake-up脚和RTC唤醒,特别是唤醒后,程序将从最开始运行,也就是相当于软件复位。
低功耗模式下GPIO的状态
睡眠模式
在睡眠模式下,所有的GPIO引脚都保持它们在运行模式时的状态。
停机模式
在停止模式下,所有的GPIO引脚都保持它们在运行模式时的状态。
待机模式
在待机模式下,静态SRAM和特殊功能寄存器的数据全部丢失,只保留备份寄存器和待机电流维持工作,所以所有的GPIO引脚处于高阻态,除了以下的引脚:
● 复位引脚(始终有效)
● 当被设置为防侵入或校准输出时的TAMPER引脚
● 被使能的唤醒引脚
低功耗设计思路
1.根据产品的实际需求和特点(最低电源消耗、最快速启动时间和可用的唤醒源),选择一个合适的低功耗模式
2、关闭不需要的外设时钟。
3、降低系统主频。
4、调整进行低功耗前GPIO的状态。(standby模式除外,standby模式下,所有的GPIO引脚处于高阻态)
a.GPIO口带上拉,请设置为高电平输出或者高阻态输入
b.GPIO口带下拉,请设置为低电平输出或者高阻态输入
5、注意GPIO和外设IC的链接。
6、测低功耗的时候,一定不要连接调试器。