zoukankan      html  css  js  c++  java
  • FreeRTOS 低功耗之停机模式

    以下转载自安富莱电子: http://forum.armfly.com/forum.php

    STM32F103 如何进入停机模式
    在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode
    即可,不过要注意:为了进入停机模式,所有的外部中断的请求位(挂起寄存器(EXTI_PR))和 RTC 的闹钟
    标志都必须被清除,否则停止模式的进入流程将会被跳过,程序继续运行。
    STM32F103 如何退出停机模式
    由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
    中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
    在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发。按下此按键会将系统从停机模式唤
    醒。
    STM32F103 使用停机模式注意事项
    使用停机模式注意以下两个问题:
    进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
    当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。 这个时候用户要根据
    需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。

    STM32Fxx 如何进入停机模式
    在 FreeRTOS 系统中,让 STM32 进入停机模式比较容易,调用固件库函数 PWR_EnterSTOPMode
    即可,不过要注意:为了进入停机模式,所有 EXTI 线挂起位(在挂起寄存器 (EXTI_PR)中)、 RTC 闹钟
    (闹钟 A 和闹钟 B)、 RTC 唤醒、 RTC 入侵和 RTC 时间戳标志必须复位,否则停机模式的进入流程将会被
    跳过,程序继续运行。
    STM32F4xx 如何退出停机模式
    由于我们是采用指令 WFI 指令进入停机模式,那么设置任一外部中断线 EXTI 为中断模式并且在 NVIC
    中必须使能相应的外部中断向量,就可以使用此中断唤醒停机模式。
    在开发板上面是将实体按键 K2 对应的引脚设置为中断方式触发,按下此按键会将系统从停机模式唤
    醒。
    STM32F4xx 使用停机模式注意事项
    使用停机模式注意以下两个问题:
    进入停机模式前,一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
    当一个中断或唤醒事件导致退出停机模式时,HSI RC 振荡器被选为系统时钟。 这个时候用户要根据
    需要重新配置时钟,如果使用的 HSE 时钟,那么要重新配置并使能 HSE 和 PLL。
    如何有效降低停机模式下的功耗
    设计低功耗主要从以下几方面着手:
    注意 I/O 的状态。 因为在停机状态下,所有的 I/O 引脚都保持它们在运行模式时的状态。
    如果此 I/O 口带上拉,请设置为高电平输出或者高阻态输入。
    如果此 I/O 口带下拉,请设置为低电平输出或者高阻态输入。
    注意 I/O 和外设 IC 的连接。
    测试低功耗的时候,一定不要连接调试器,更不能边调试边测电流。
    F429关于低功耗的停机模式说明:
    (1) 停机模式是在 Cortex-M4F 的深睡眠模式基础上结合了外设的时钟控制机制,在停机模式下
    电压调节器可运行在正常或低功耗模式。此时在 1.2V 供电区域的的所有时钟都被停止,PLL、
    HSI 和 HSE 的 RC 振荡器的功能被禁止,SRAM 和寄存器内容被保留下来。
    (2) 在停机模式下,所有的 I/O 引脚都保持它们在运行模式时的状态。
    (3) 一定要关闭滴答定时器,实际测试发现滴答定时器中断也能唤醒停机模式。
    (4) 当一个中断或唤醒事件导致退出停机模式时, HSI RC 振荡器被选为系统时钟。
    (5) 退出低功耗的停机模式后,需要重新配置使用 HSE。

  • 相关阅读:
    Centos7新特性——systemd取代init管理服务
    Git初探
    Nginx内置变量
    Nginx初探
    PHP多进程初步
    golang消息队列nsq
    golang 的 go异步编程通道要注意的问题
    golang 连接池mysql
    golang centos运行方法
    golang go path和go mod的区别
  • 原文地址:https://www.cnblogs.com/yangguang-it/p/7232289.html
Copyright © 2011-2022 走看看