停机模式怎样进入
stm32l051怎样进入停机模式还有什么现象?能再详细描述下吗?
还有什么现象?能再详细描述下吗?
我用HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
发现程序还在运行
就试了下HAL_PWR_EnterSTANDBYMode();
发现单片机给玩坏了 拉高nrst程序 拉高nrst程序还是不运行,程序也下不进去
while(1)
{
LedOff();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
SystemClock_Config();
LedOn();
}
灯一直亮 HAL_Delay(1000);
LedOff();
// HAL_NVIC_DisableIRQ(SysTick_IRQn);
HAL_SuspendTick();
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
HAL_ResumeTick();
SystemClock_Config();
LedOn();
现在可以进入stop模式但醒不来了,用的是外部中断 F0的固件库里有从STOP模式唤醒的例程的吧
//定义IO初始化结构体
GPIO_InitTypeDef GPIO_InitStructure;
//设置zigbee模块进入低功耗模式
inf_zigbee_sleep();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD ,ENABLE);
//管脚初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
//选择GPIO响应速度
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//设置为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
//初始化
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD ,DISABLE);
ADC_Cmd(ADC1,DISABLE);
//进入低功耗模式
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); 注意:
1.将IO置为模拟输入
2.关闭ADC
理论功耗:14ua
实测功耗:12ua 发现了我中断里用了延时函数,但 HAL_ResumeTick();还没恢复所以造成我以为一直没唤醒
拉高nrst试试
停机模式是什么模式?睡眠模式吗
好像有一个函数就能进去吧
停机模式下还有哪些还在运行呀
我只进入过睡眠模式
调用库函数接口啊 好的,我明天去单位试一下,多谢各位大侠了哈
引脚模式的选择很重要
页:
[1]
2