简介
AT32F437 系列MCU 工作电压范围为2.6V 至3.6V,为了降低功耗,提供了三种省电模式——睡眠模式,深度睡眠模式和待机模式,使用户可以在CPU 运行时间要求、速度和功耗进行折中取舍。三种低功耗模式下功耗依次为:睡眠模式>深度睡眠模式>待机模式。
资源准备
硬件环境:
对应产品型号的AT-SURF-F437 Board
软件环境:
AT32F435_437_Firmware_Library_V2.x.x\project\at_sufr_f437\examples\low_power_mode

硬件设计
本案例使用的硬件资源有两个独立按键,对应的引脚如下:

对应的电路原理如下:

软件设计

  1. 低功耗测试
    将按键配置成EXINT 上升沿触发模式,用于唤醒低功耗模式
    MCU 进入低功耗模式
    按下按键唤醒低功耗模式

  2. 代码介绍
    main 函数代码描述
    int main(void)
    {
    /* 初始化系统时钟 */
    system_clock_config();

/* 初始化中断优先级分组 /
nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
/
初始化延时函数 /
delay_init();
/
初始化LCD /
lcd_init(LCD_DISPLAY_VERTICAL);
/
初始化唤醒引脚(按键2) /
wakeup_pin_init();
/
使能PWC 时钟 /
crm_periph_clock_enable(CRM_PWC_PERIPH_CLOCK, TRUE);
/
显示信息 */
lcd_string_show(5, 20, 310, 24, 24, (uint8_t )“Low power mode test”);
/
延迟1 秒 /
delay_ms(1000);
#if defined TEST_SLEEP_MODE
/
显示信息 */
lcd_string_show(5, 60, 310, 24, 24, (uint8_t *)“Enter sleep mode”);
lcd_string_show(5, 90, 310, 24, 24, (uint8_t )“Prese button 2 to wakeup”);
/
进入sleep 模式 /
pwc_sleep_mode_enter(PWC_SLEEP_ENTER_WFI);
/
从sleep 模式唤醒 */
lcd_string_show(5, 140, 310, 24, 24, (uint8_t )“Wakeup from sleep mode”);
#elif defined TEST_DEEPSLEEP_MODE
/
显示信息 */
lcd_string_show(5, 60, 310, 24, 24, (uint8_t *)“Enter deepsleep mode”);
lcd_string_show(5, 90, 310, 24, 24, (uint8_t )“Prese button 2 to wakeup”);
/
配置LDO 模式 /
pwc_voltage_regulate_set(PWC_REGULATOR_LOW_POWER);
/
进入deepsleep 模式 */
pwc_deep_sleep_mode_enter(PWC_DEEP_SLEEP_ENTER_WFI);

/* 初始化系统时钟 /
system_clock_config();
/
从deepsleep 模式唤醒 */
lcd_string_show(5, 140, 310, 24, 24, (uint8_t *)“Wakeup from deepsleep mode”);
#endif
while(1)
{
}
}

下载验证
1.在上电1 秒后进入低功耗模式
2.当按键2 按下时从低功耗模式唤醒

AT32 MCU低功耗模式--AT_SURF案例19相关推荐

  1. AT32 MCU OTG使用----AT_SURF案例16

    1.简介 AT32F437 芯片内部含有两个独立的OTGFS 模块,支持控制传输.大容量.中断和同步传输, OTGFS 模块由OTGFS controller.内置物理层(PHY)以及独立1280 字 ...

  2. MCU低功耗模式浅析

    1.低功耗简介 MCU的低功耗有三种,分别是待机模式.睡眠模式以及停止模式. 在系统或电源复位以后,微控制器处于运行状态.运行状态下的 HCLK 为 CPU 提供时钟,内核执行程序代码. 当 CPU ...

  3. 转《MCU低功耗设计》

    关键词: 低功耗设计, 无线通信产品, LoRa长距离, Contiki系统, 能耗实时跟踪 引言: 能耗对电池供电的产品来说是一个重大问题,一旦电能耗尽设备将"罢工".在< ...

  4. 【STM32】【STM32CubeMX】STM32CubeMX的使用之八:低功耗模式及MCU唤醒

    文章目录 0.前言 1.低功耗模式简介 2.CubeMX设置 3.软件设计   下载工程文件:   https://gitee.com/Joseph_Cooper/stm32-cube-mx-stm3 ...

  5. SH367309 BMS 锂电池保护板方案 该电池管理系统由SH367309和MCU实现,其主要功能包括:充电管理、放电管理、容量计、安全保护、数据备份、ISP、静 置功耗和低功耗模式等

    SH367309 BMS 锂电池保护板方案 该电池管理系统由SH367309和MCU实现,其主要功能包括:充电管理.放电管理.容量计.安全保护.数据备份.ISP.静 置功耗和低功耗模式等 烧写工具 W ...

  6. stm32低功耗模式下mcu的实际功耗(ST芯片手册)

    STM32F103xC. STM32F103xD和STM32F103xE增强型产品支持三种低功耗模式,可以在要求低 功耗.短启动时间和多种唤醒事件之间达到最佳的平衡. ● 睡眠模式 在睡眠模式,只有C ...

  7. RS485通信--AT_SURF案例No.10

    RS485通信–AT_SURF案例No.10 简介 RS485通常采用两线制总线,为半双工通讯,常用于工业控制,理论上最大传输距离可达到1200米.总线上可以连接多个设备,在使用时只需要将设备的A口和 ...

  8. STM32开发 -- 低功耗模式详解

    很多单片机都有低功耗模式,STM32 也不例外.当 CPU 不需继续运行时,可以利用多个低功耗模式来节省功耗. 这部分不是我负责,但是也是有必要看一下的. 参看: STM32F1开发指南-库函数版本_ ...

  9. 32怎么通过一个按键实现不同工作模式_stm32几种低功耗模式的实现和差别

    点击上方蓝字关注我哦- 01 前言 按功耗由高到低排列,STM32具有运行.睡眠.停止和待机四种工作模式.上电复位后 STM32 处于运行状态,当内核不需要继续运行,就可以选择进入后面的三种低功耗模式 ...

最新文章

  1. git 查看修改的代码行数,新增的文件以及删除的代码行数
  2. 今天说的是必须要熟练掌握的归并排序
  3. 我的世界服务器称号显示,服务器插件 称号 超级好用
  4. nginx:413 Request Entity Too Large 及 修改 PHP上传文件大小配置
  5. 初中数学分几个模块_【初中数学】8大模块61个必考易错知识点!
  6. Android系统(127)---Android6.0存储中加入总内存和系统内存项和在西语下把,换成.
  7. redis常用操作-键的生存时间
  8. 转载一篇短小精悍的博文:强可学习在什么条件下与弱可学习等价
  9. eclipse调试java web_eclipse调试web项目
  10. AngularJs+bootstrap搭载前台框架——基础页面
  11. php 置多条cookie,php 在cookie存储多个的简单示例
  12. 不同修饰符的访问权限(private,缺省(默认即default),protected,public)
  13. 专升本计算机综合-数据结构篇
  14. 神经网络训练集和测试集,神经网络验证集作用
  15. Ubuntu 域名解析失败解决
  16. 浏览器插件:脚本注入插件Tampermonkey(油猴)
  17. 谷歌浏览器打开本地堡垒机应用发布服务器cmd的方法
  18. dedecms联动筛选_织梦dedecms联动筛选[伪静态版]
  19. aria2的安装使用
  20. CMPedometer 计步器的使用—— 基于API分析

热门文章

  1. 今天开始学Java 如果统计的个数相同,则按照ASII码由小到大排序输出 。
  2. Elasticsearch-8.2.0安装问题
  3. PHP审计-RIPS
  4. 前端配色方案:最舒服的十种颜色
  5. echarts图表入门级教程(An introductory chart tutorial)
  6. 设计师思维模式你get到多少个?
  7. 记录 | KMS工具激活Office报错 Error Code: 0x80080005
  8. 微信群发图文消息步骤说明
  9. 【微博简易爬虫】Python获取指定微博用户的发布文本
  10. 算法很没:快速渡河问题