wkup.c
#include "wkup.h"
void Enter_Standby_Mode()
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //开启电源时钟
PWR_WakeUpPinCmd(ENABLE); //设置waup引脚是唤醒引脚(此机是k_UP)
PWR_ClearFlag(PWR_FLAG_WU); //清除唤醒标志
PWR_EnterSTANDBYMode(); //进入待机状态
}
main.c
#include "systick.h"
#include "led.h"
#include "system.h"
#include "key.h"
#include "usart.h"
#include "wkup.h"
int main()
{
SysTick_Init(72); //系统时钟初始
LED_INIT();
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
USART1_Init(9600);
while(1)
{
printf("5\r\n");
delay_ms(1000);led1=0;
printf("4\r\n");
delay_ms(1000);led1=1;
printf("3\r\n");
delay_ms(1000);led1=0;
printf("2\r\n");
delay_ms(1000);led1=1;
printf("1\r\n");
delay_ms(1000);led1=0;
Enter_Standby_Mode();
}
}
//串口助手显示54321后进入待机状态
网友评论