Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
STM32超低功耗
STM32超低功耗入门之待机模式
发布于 2021-04-24 14:55:22 浏览:1391
订阅该版
[tocm] ### 一. 认识待机模式 进入待机模式之后,唤醒 MCU 后程序不是从进入低功耗模式之后的下一行代码开始执行,而是重新启动了。 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/bc246464d5b6f8418c6587549aab7be49e8ae899.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3doajEyMzk5OQ==,size_16,color_FFFFFF,t_70) 通过上图可以得出结论: 1. 待机模式有 2 种电压调节器方案 2. 待机模式下 CPU 是停止状态 3. 待机模式下 FLASH 已经断电 4. 选择 LPR 电压调节方案的情况下,SRAM2 可以保存数据 5. 时钟只可以使用 LSE 或者 LSI 6. 支持的外设有限,只有 BOR RTC IWDG 可以用了, IO可以配置成 浮空,上拉,下拉 7. 唤醒的方式,只有 BOR , wakeup, RTC, IWDG 8. 根据电压调节器的选择不同,以及是否开启RTC 功耗略有区别 9. 唤醒时间 12.2us ### 二. 待机模式的进入 ![在这里插入图片描述](https://oss-club.rt-thread.org/uploads/20220714/31b6fac9898b88268e79f3384f506e224f4c2719.png) 在待机模式下,可以选择是否保留 SRAM2 的数据。 唤醒之后 MCU 会复位,代码从头开始执行。 进入待机模式的 API :`void HAL_PWR_EnterSTANDBYMode(void)` 进入这个模式的API 很简单,是否保留 SRAM2 的数据,可以通过: 1. `void HAL_PWREx_EnableSRAM2ContentRetention(void)` 保留 SRAM2 的数据 2. `void HAL_PWREx_DisableSRAM2ContentRetention(void)` 不保留 SRAM2 的数据 默认不保留 SRAM2 的数据 ### 三. 待机模式的进入代码 进入待机模式的代码实现 ``` int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); HAL_Delay(500); // 上电之后延时一会再进入睡眠模式,这样可以保证复位之后可以立即下载程序 //HAL_PWREx_EnableSRAM2ContentRetention();// 保留 SRAM2 数据 //HAL_PWREx_DisableSRAM2ContentRetention(); // 不好留 SRAM2 的数据 HAL_PWR_EnterSTANDBYMode();//进入待机模式 while (1) { HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_13); HAL_Delay(500); } } ``` ### 四. 总结 1. 进入待机模式是 `MCU` 停止 2. 待机模式唤醒后,唤醒之后 MCU 就复位了 3. 待机模式的唤醒,只能依赖,BOR,RTC和IWDG 4. 可用外设非常有限,只有BOR,RTC和IWDG
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
whj467467222
开源,分享,交流,共同进步
文章
32
回答
1222
被采纳
149
关注TA
发私信
相关文章
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
三世执戟
7
个答案
1
次被采纳
RTT_逍遥
4
个答案
1
次被采纳
KunYi
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
JonasWen
1
个答案
1
次被采纳
本月文章贡献
出出啊
1
篇文章
3
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部