//******************************************************************** // Ver 1.0 // 2021.11.19 1、新建文件。 //******************************************************************** #ifndef __SLEEP__H #define __SLEEP__H //************************************************************* #define SLEEP() do{ \ PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); \ }while(0) //************************************************************* //低功耗设置:未使用IO设置为:GPIO_Mode_AN,GPIO_PuPd_DOWN //关闭ADC模块,关闭ADC参考电压, #define GPIOA_NC_PIN (GPIO_Pin_12) #define GPIOB_NC_PIN (GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_15) #define GPIOC_NC_PIN (GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15) #define GPIOF_NC_PIN (GPIO_Pin_11) #define SLEEP_NcPinInit() do{ \ GPIO_InitTypeDef GPIO_InitStructure; \ GPIO_InitStructure.GPIO_Pin = GPIOA_NC_PIN; \ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN; \ GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; \ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; \ GPIO_Init1(GPIOA, &GPIO_InitStructure); \ GPIO_InitStructure.GPIO_Pin = GPIOB_NC_PIN; \ GPIO_Init1(GPIOB, &GPIO_InitStructure); \ GPIO_InitStructure.GPIO_Pin = GPIOC_NC_PIN; \ GPIO_Init1(GPIOC, &GPIO_InitStructure); \ GPIO_InitStructure.GPIO_Pin = GPIOF_NC_PIN; \ GPIO_Init1(GPIOF, &GPIO_InitStructure); \ }while(0) #if 0 //1、PD06配置成下拉输入,STM32F072引脚接地 //2、PD07配置成上拉输入,STM32F072引脚接VCC #define SLEEP_NcPinInit() do{ \ GPIO_Init(GPIOC, GPIO_Pin_13, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_0, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_1, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_2, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_3, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_5, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_6, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_7, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_0, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_2, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_10, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_11, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_12, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_13, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_14, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_15, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_10, 1, IO_IN_PD); \ GPIO_Init(GPIOD, GPIO_Pin_6, 1, IO_IN_PD); \ GPIO_Init(GPIOD, GPIO_Pin_7, 1, IO_IN_PD); \ GPIO_Init(GPIOA, GPIO_Pin_15, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_7, 1, IO_IN_PD); \ GPIO_Init(GPIOD, GPIO_Pin_3, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_8, 1, IO_IN_PD); \ GPIO_Init(GPIOB, GPIO_Pin_9, 1, IO_IN_PD); \ }while(0) #endif #endif