PWR待机模式代码示例

控制/MCU

1883人已加入

描述

  待机模式用于通过掉电复位实现最低功耗。内部稳压器关闭,因此 VCORE 域断电。PLL、MSI RC、HSI16 RC 和 HSE 晶体振荡器也被关闭。

  RTC 可以保持活动状态(带 RTC 的待机模式,不带 RTC 的待机模式)。

  欠压复位 (BOR) 在待机模式下始终保持有效。

  待机模式下每个 I/O 的状态可以通过软件选择:带内部上拉、内部下拉或悬空的 I/O。

  可以使用 SYS_WKUP 引脚、 RTC事件(闹钟或定时器)、IWDG或 NRST 引脚中的外部复位将系统从待机模式唤醒。

  从待机模式唤醒后,程序以与复位后相同的方式重新开始执行(引导引脚采样、选项字节加载、获取复位向量等)。

  

 

微控制器

 

  6.2 HAL库工作流程总结

  当退出待机或关机模式时,VCORE 域中的所有寄存器都设置为其复位值。

  

 

微控制器

 

  6.3配置待机模式↑

  从 EXTI 入门[1]打开项目

  打开 main.c

  如果您打算使用 SYS_WKUP 引脚唤醒系统,请添加以下代码行以清除唤醒标志。否则,待机模式只会进入一次。

  /* 初始化所有已配置的外设 */

  /* USER CODE BEGIN 2 */

  __HAL_PWR_CLEAR_FLAG ( PWR_FLAG_WU );

  /* 用户代码结束 2 */

  添加进入待机模式的功能

  /* 无限循环 */

  /* USER CODE BEGIN WHILE */

  while ( 1 )

  { /* USER CODE END WHILE */

  /* 用户代码开始 3 */

  HAL_Delay ( 2000 );

  HAL_PWR_EnterSTANDBYMode ();

  }

  /* 用户代码结束 3 */

  6.4编译烧录↑

  单击构建按钮

微控制器

  点击运行按钮执行

微控制器

  6.5测量电流消耗↑

  参考数据表[4],在 25°C 和 VDD = 3V 的待机模式下,电流消耗应为 150nA

  

 

微控制器

 

  使用 STM32Cube Monitor-Power [5],我们测量了:

  

 

微控制器

 
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分