休眠模式:下电
唤醒配置:外部中断,下降沿
问题描述:先拉低引脚,再进入休眠,无法唤醒
解决方法:先等所有引脚拉高后,再进入休眠
///>休眠逻辑
if(sleep_cont++ >= SLEEP_CONT && (KEY_UP) )//必须松手了,才进休眠,否则无法唤醒!
{
sleep_cont = 0;
PRINT( "shut down mode sleep \r\n" );
PWR_PeriphWakeUpCfg( ENABLE, RB_SLP_GPIO_WAKE, Edge_ShortDelay );
DelayMs( 2 );
LowPower_Shutdown( 0 ); //全部断电,唤醒后复位
/*
此模式唤醒后会执行复位,所以下面代码不会运行,
注意要确保系统睡下去再唤醒才是唤醒复位,否则有可能变成IDLE等级唤醒
*/
HSECFG_Current( HSE_RCur_100 ); // 降为额定电流(低功耗函数中提升了HSE偏置电流)
PRINT( "wake.. \n" );
DelayMs( 500 );
}