【转】1-单片机STM32—中断与事件的区别

stm32几种低功耗模式的实现和差别

tickless 低功耗模式
在空闲任务进行时间 进行低功耗模式,在进入低功耗前要计算下一个要运行的任务在什么时间发生

进入低功耗要关闭系统时钟(即滴答定时器),然后设置定时器记录低功耗运行时间

。(有的mcu 有低功耗计时器)

cortex-M3 M4都拥有WFI WFE 指令

执行低功耗步骤
1 获取下一个任务运行时间,假设为周期 T
2 初始化一个定时器 ,设置为周期 T
3 降低系统主频,关闭不需要外设,关闭某些器件电源
4 发送命令让cpu(内核) 进入低功耗模式 ,命令如 WFI
5 退出低功耗模式,打开中断(非上面的定时器中断) 打开或者正常化 systick
6 恢复系统主频
7 执行应用层任务

注意:
关闭外设的的话,直接关闭时钟就好了,这样相关模块就不运行了。