当前位置: 首页 > news >正文

【stm32】HAL库开发——单片机工作模式

目录

一、单片机工作模式

1.1低功耗睡眠模式(Sleep)

1.2低功耗停止模式(Stop)

1.3低功耗待机模式(StandBy)


一、单片机工作模式

1.1低功耗睡眠模式(Sleep)

使用

HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);

打开睡眠模式。由于Hal库与标准库在管理系统时钟和低功耗模式时的处理方式不同,Hal库中需要多手动关闭SysTick定时器,因为SysTick定时器会周期性触发中断,会唤醒睡眠模式。

HAL_SuspendTick();//关闭SysTick定时器
HAL_PWR_EnterSLEEPMode(PWR_MAINREGULATOR_ON,PWR_SLEEPENTRY_WFI);
HAL_ResumeTick();//恢复SysTick定时器

1.2低功耗停止模式(Stop)

HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON,PWR_STOPENTRY_WFI);//进入Stop模式
SystemClock_Config();//恢复时钟

1.3低功耗待机模式(StandBy)

配置PA0为唤醒引脚:

代码:

HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WU);while(1)
{__HAL_RCC_PWR_CLK_ENABLE();HAL_PWR_EnterSTANDBYMode();
}

相关文章:

  • stm32之普通定时器
  • 构建创意系统:驾驭Audition与Photoshop的AI之力,洞悉原子化设计哲学
  • 基于IEC61499实现的工业机器视觉方案
  • Java面试宝典:基础四
  • 复旦大学经济学院系统思考训练
  • 【三维重建】Deformable Beta Splatting
  • 2025.6.29总结
  • 华为云 Flexus+DeepSeek 征文|华为云 Flexus 云服务 Dify-LLM 平台深度部署指南:从基础搭建到高可用实践
  • C/C++数据结构之动态数组
  • NAND Flash BCH和FTL
  • git常见问题汇总-重复提交/删除已提交文件等问题
  • ROS 避障技术介绍
  • Ultralytics YOLO超参数调整指南(二)
  • 节点小宝:告别公网IP,重塑你的远程连接体验
  • docker安装gitlab
  • 微服务同时启动多个启动类方法
  • 团结引擎发布纯鸿蒙应用
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • ali PaddleNLP docker
  • Utils系列之内存池(Fixed size)