halt低功耗模式

2019-11-14来源: eefocus关键字:halt  低功耗模式  stm8l152

1. stm8l152有5种低功耗模式,wait mode, low power run mode, low power wait mode, active-halt mode, halt mode.


2. 在halt模式下,cpu和外设时钟停止,可以通过外部中断或者复位来唤醒。


3. 本实验设计为:led灯亮,紧接着进入halt模式,有按键时,中断,快速唤醒,led灯灭。




     PWR_FastWakeUpCmd(ENABLE);  //快速唤醒使能

     //所有IO输出低电平

    GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);//推挽输出 低电平

    GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);

    GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);

    GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_PP_Low_Slow);

    

    

    //GPIO_Init(LED_GPIO_PORT, LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Slow);//GPIO初始化

    GPIO_Init(KEY_GPIO_PORT, KEY_GPIO_PINS, GPIO_Mode_In_PU_IT);//初始化按键,GPB6带上拉带中断输入

    

    

    

    EXTI_DeInit (); //恢复中断的所有设置 

    EXTI_SetPinSensitivity (EXTI_Pin_6,EXTI_Trigger_Falling);//外部中断6,下降沿触发,向量号14

    enableInterrupts();//使能中断

    

    PWR_UltraLowPowerCmd(ENABLE);//超低功耗

    while(1)

    {

        Delay(0x0FFF);

        GPIO_ResetBits (GPIOD,GPIO_Pin_4);

        halt();

    }


INTERRUPT_HANDLER(EXTI6_IRQHandler,14)

{

    /* In order to detect unexpected events during development,

       it is recommended to set a breakpoint on the following instruction.

    */

    EXTI_ClearITPendingBit (EXTI_IT_Pin6);

    GPIO_SetBits(GPIOD,GPIO_Pin_4);

    //Delay(0xfffffFFF);

}


关键字:halt  低功耗模式  stm8l152 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic479983.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STM8L051低功耗模式测试文档
下一篇:STM8的停机模式

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm8l051 halt之后外部中断唤醒问题
最近用到stm8l051 halt,在halt之后开启了外部中断,有时灵,有时不灵,设置下降沿触发,但是按键(低有效)放开了才会从HALT退出,最后发现在进去外部中断的时候一直在外部中断里面不退出。在外部中断程序里面把端口的外部中断和端口使能的外部中断功能关闭,问题解决,可以在下降沿从halt退出。1、开启halt,其他代码省略,只贴halt部分:    /* 禁止TIM3 */    TIM3->SR1 = (uint8_t)(~(uint8_t)TIM3_IT_Update);    CLK_PeripheralClockConfig
发表于 2019-12-05
关于串口唤醒STM8L151低功耗HALT模式的方法——外部中断法
以前看到一款xx公司的低功耗产品,用的是STM8L151的MCU,无线模组是LORA或者NB模组,因为我选择用的另一款M0+核的芯片,所有也一直没有太多时间去研究那个产品究竟是怎么用串口唤醒M0核的MCU STM8L151的。M0+核的在低功耗处理上方便太多,串口可直接唤醒。想不明白在HALT模式下功耗为什么如此之低,因为在HALT模式下MCU是不支持串口唤醒的。后来通过试验,发现了其中奥秘:实现这个功能需要绕个弯弯。首先M0定义MCU HLAT时候只能通过外部中断或者RTC自动唤醒,所以一定是串口先设置成为了外部中断唤醒。核心思路是舍弃串口信息的前一段信息。串口唤醒HALT模式下的STM8L步骤如下:在进入HLAT之前,设置串口
发表于 2019-11-15
STM8L051xx Active-Halt mode(活跃停机模式)学习
电源管理技术提供的几种低功耗运行模式,参考数据手册可知, Low power features – 5 low power modes: Wait, Low power run(5.1 µA), Low power wait (3 µA), Active-halt with RTC (1.3 µA),Halt (350 nA) 由上可知,共有五种模式:等待模式,低功耗运行模式,低功耗等待模式,活跃停机模式和停机模式。停机模式时功耗最低的模式,若启用该模式后时钟振荡器和CPU外设均关闭,功耗较低的是活跃停机,其次是等待模式。二、 Wait等待模式在运行模式下执行STM8单片机专用中断指令“WFI”后,即可进入等待
发表于 2019-11-15
STM8L051xx Active-Halt mode(活跃停机模式)学习
STM8L Active-halt模式下的低功耗调试
此模式下的低功耗与halt模式下的低功耗差不多,但Active-halt模式下多了个唤醒,而halt模式下是深睡,主频外设什么的全部都关掉了;Active-halt模式下,一样的首先要将没用到的GPIO全部输出低,其它用到的按要求配置即可,这个低功耗主要的就是GPIO的配置状态,及外设的功耗,其实也很容易就完成。还有最重要的一点,PWR_UltraLowPowerCmd(ENABLE);//超低功耗这句必须得有,不然不会到超低功耗。void RTC_Config(void){    //CLK_LSEConfig(CLK_LSE_ON);    CLK_LSICmd(ENABLE);//使能
发表于 2019-11-15
stm8l 低功耗 halt_active模式
第一次尝试做低功耗,芯片stm8l,用的半halt模式1、关于唤醒,可以用外部中断和RTC(stm8l不同的模式用的唤醒方式均不同)2、关于省电,如果没达到理想的电流,一般都是gpio口问题,没用到的都悬浮输入或输出低都是可以的,用到的统一量一下电平,看看哪个状态不对
发表于 2019-11-14
STM8L052低功耗模式
Stm8L系列单片机的低功耗有五种模式:§ wait模式§ Lowpower run模式§ Lowpower wait模式§ Active-haltwith full RTC模式§ Halt模式最低功耗的就是就是halt模式。这里也主要总结一下如何进入halt模式,进入以后可以通过什么方式唤醒,以及有很多客户会关心的如何自动唤醒。Halt模式进入很简单,执行一条halt指令,调用库函数也就是halt()就行了。但是进入前要注意把所有的中断挂起标志给清除掉。要是不清零又恰巧有中断标志的时候进入该模式也会被立马唤醒。进入这种模式,所有的外设全都关闭了,所有时钟关闭。这时候它自己是醒不过来的,只能靠掐人中(给个外部中断)或者重新复活
发表于 2019-12-05
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved