分类 stm32 下的文章

stm32中的中断处理有 NVIC 和 EXTI 两个部件完成的。NVIC 负责处理中断请求,对高优先级请求优先处理,并能打断低优先级的处理。EXTI 则负责从各个部件中收集中断请求,并转交给 NVIC 处理。如果当前有高优先级中断在处理,EXTI 会缓存请求,称之为挂起,并在适当时机继续执行。想从代码中触发对应中断,则可以直接设置对应中断的挂起状态。另外EXTI每个中断都可以配置是否启用。

RCC时钟就像是机器的引擎,通过传动轴驱动各个部件的运转。一般stm32会配备四个时钟源,两个外部两个内部,时钟还有高低速之分。高速时钟源还可以接PLL部件,类似机器的变速箱,用来调整时钟的输出速率。SYSCLK称之为系统时钟,是时钟主入口,所有部件的时钟信号都是由此分发出。AHB总线时钟HCLK,有AHB分频器分频而来。APB总线时钟PCLK,接于AHB之下,供给各种外设使用。

核心代码

LL_PWR_EnableUltraLowPower(); // stm32l0系列专用
LL_PWR_ClearFlag_WU(); // 清除唤醒标记
LL_PWR_SetPowerMode(LL_PWR_MODE_STANDBY);
LL_LPM_EnableDeepSleep();
__WFE(); // 进入待机模式