目的
配置芯片进入停止模式,RTC唤醒中断唤醒。
完成情况
成功进入停止模式4S,然后由RTC唤醒,ADC、日历、串口等功能成功启动。
步骤
1,进入低功耗模式相关配置
关闭高速时钟;
RCC中关闭所有外设时钟;
关闭外设使能;
2,唤醒相关配置
要使能 RTC 唤醒中断,需按照以下顺序操作:
1. 将 EXTI 线 20 配置为中断模式并将其使能,然后选择上升沿有效。
2. 配置 NVIC 中的 RTC_WKUP IRQ 通道并将其使能。
3. 配置 RTC 以生成 RTC 唤醒定时器事件。
void RTC_configration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
RTC_InitTypeDef RTC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/*!< Allow access to RTC */
PWR_RTCAccessCmd(ENABLE);
/* Clear WakeUp flag */
PWR_ClearFlag(PWR_FLAG_WU);
/*!< Reset RTC Domain */
RCC_RTCResetCmd(ENABLE);
RCC_RTCResetCmd(DISABLE);
/*!< LSE Enable */
RCC_LSEConfig(RCC_LSE_ON);
/*!< Wait till LSE is ready */
while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
{}
/*!<RTC Clock Source Selection */
RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
/*!< Enable the RTC Clock */