一、唤醒源
对付STM32L4系列MCU,STOP休眠模式的唤醒源如下表所示:
这些唤醒源共有40路,可将它们分为2类,一类是可配置(Configurable),有26路可配置的唤醒源(配置内容为:触发边沿选择、触发状态位、软件触发唤醒),一类是不可配置(Direct),有14路不可配置唤醒源(如USART、LPTIMER等)。

外部中断和事宜掌握器(EXTI)管理这些唤醒源,并将产生中断和事宜要求通报给CPU和中断掌握器(NVIC),然后产生EXTI中断或唤醒CPU。详细的40路唤醒源线路分配与EXTI模块功能图如下:
40路唤醒源
可配置与直通唤醒源配置路径
注:
1、Configurable线路的中断要求由EXTI掌握器通报给NVIC掌握器后,CPU实行EXIT中断处理程序;
2、Direct线路的中断要求由对应的外设通报给NVIC掌握器,CPU实行对应的中断处理程序。
二、唤醒中断/事宜配置寄存器
40个线路均有的配置寄存器如下:
40中断唤醒使能寄存器
40路事宜唤醒使能寄存器
26个Configurable线路的专属配置寄存器如下:
26路可配置的边沿触发寄存器
26路可配置的挂起标志寄存器
26路软件触发寄存器
三、Direct中断/事宜源将STOP模式唤醒
Direct中断/事宜源有I2C、USARTx,现以USART3来唤醒STOP模式的MCU。USART3的配置干系寄存器紧张如下几个:
USART配置掌握寄存器
STOP模式使能USART寄存器
3.1、Direct中断(USART3中断)将STOP模式唤醒
Usart3中断可以唤醒WFI指令休眠,也可以唤醒WFE指令休眠。初始化Usart3时,必须确保其时钟源为HIS或LSE;使能中断时,RXNEIE位必须置位使能吸收中断,但是NVIC的中断USART3_IRQn使能可选,如果使能NVIC则唤醒后会实行中断做事程序,否则不实行;Usart3在掌握器EXTI的中断掩码位(EXTI->IMR1[28])必须使能,否则无法中断唤醒;进入STOP休眠前必须确保中断标志位清空。
配置流程与代码如下图所示,代码采取STM32CUBEMX工具天生。
Direct中断唤醒流程
Direct中断唤醒配置示例
3.2、Direct事宜(USART3事宜)将STOP模式唤醒
Usart3事宜只可以唤醒WFE指令休眠,配置参数基本跟Usart3中断唤醒同等,配置流程与代码如下图所示:
Direct事宜唤醒流程
Direct事宜唤醒配置示例
四、Configurable中断/事宜源将STOP模式唤醒
Configurable中断事宜唤醒源有GPIO0~15(线路0~15),RTC事宜(映射到线路18~20)等,个中范例的是GPIO0~15,可以作为按键吸收引脚,唤醒STOP模式,GPIO作为唤醒源,其干系的配置寄存器有:
exti0-15外部引进映射配置图
exti0-15外部IO通道配置
exti0-15线路配置寄存器
4.1、Configurable中断(PC5中断)将STOP模式唤醒
GPIOC5中断即可唤醒WFI指令的Stop休眠,也可唤醒WFE指令的休眠;配置完IO输入模式与上拉后,须要使能EXTI->IMR1[5]掩码位,NVIC中断使能位可选配置;进入休眠前,须要打消对应的中断标志(包含外设与内核),详细流程如下图:
Configurable中断唤醒流程
Configurable中断唤醒示例
4.2、Configurable事宜(PC5事宜)将STOP模式唤醒
GPIOC5配置为输入,并检测外部脉冲,如果有低落沿脉冲,则唤醒WFE指令的休眠,如下图:
Configurable事宜唤醒流程
Configurable事宜唤醒示例