halt低功耗模式
2016-09-25 15:37
183 查看
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);
}
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);
}
相关文章推荐
- stm8l 低功耗 halt_active模式
- STM32电源管理与低功耗模式
- LED背光学习_可变模式分数电荷泵实现低功耗手机LCD背光驱动方案
- KL25进入低功耗模式无法退出后的芯片救活
- stm32f030c8t6 MCU进入低功耗模式
- WIFI低功耗模式说明
- MSP430低功耗模式
- MSP430--低功耗模式
- stm32低功耗模式
- 离开模式,低功耗任你下载!
- MSP430X5XX的时钟系统与低功耗模式
- NFC低功耗模式
- android蓝牙的调试(博通蓝牙工作 and 低功耗模式)
- STM32电源管理与低功耗模式
- MSP430的低功耗事件驱动工作模式
- [转]MSP430单片机低功耗控制与系统工作模式详解
- AVR单片机电源管理_睡眠模式(低功耗模式)实验(基于ATmega8)
- STM8S的HALT模式与AWU唤醒
- STM8S---电源功耗管理之停机模式(halt)实现
- MSP430 G2553 低功耗模式LPMx