2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > stm8 低功耗 RTC唤醒

stm8 低功耗 RTC唤醒

时间:2023-05-17 20:00:46

相关推荐

stm8 低功耗 RTC唤醒

stm8 低功耗 RTC唤醒

本人在网上百度了很多教程以后,受益匪浅,但很多时候看的半知半懂,所以觉得写一篇完整的教程给大家。

降低功耗的方法

降低系统时钟:

比如你现在的系统时钟为主时钟16M,那么你可以通过分频器降到8M,2M等:

CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);

关闭未使用的时钟:

从我入门单片机以来,没进入低功耗的世界时,一般都是习惯用哪个时钟把哪个时钟打开,如果是低功耗单片机,我们可以把不用的外设关掉,比如我们关掉TIM1时钟:

CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,DISABLE);

关闭所有未使用的模拟功能块

如果你的设计方案在低功耗模式下,不需要CPU运行的话,那么你可以选择将stm8进入以下模式:

等待(Wait)

活跃停机(Active Halt)(可配置为慢速或快速唤醒)

停机(Halt) (可配置为慢速或快速唤醒)

我们主要讨论这三种模式:

等待模式:

在运行模式下执行WFI指令,进入等待模式。

COU停止运行,外设与中断控制器仍保持运行,可外设时钟门控,降低CPU频率,以及选择低功耗时钟源(LSI,HSI)结合使用。

所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变。

当一个内部外部中断请求产生的时,CPU从等待模式唤醒并恢复工作。

停机模式:

主时钟停止,由fMASTER提供时钟的CPU及所有外设均被关闭,因此所有外设均被关闭。

所有寄存器与RAM的值保持不变,默认情况下时钟配置也保持不变。

MCU通过执行HALT指令进入停机模式,外部中断可将MCU从停机模式唤醒。

这种模式下,主电压调节器关闭,仅低电压调节器处于工作状态。

为了减少MCU的唤醒时间,

建议在进入暂停模式前选择HSI做为fMASTER的时钟源。

活跃停机模式:

活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。

在这里,我们介绍一下AWU:

AWU是用来当MCU进入低功耗的活跃停机(Active Halt)模式时提供一个内部的唤醒时间基准。该时间基准的时钟是由内部的低速RC振荡器时钟(LSI)或者通过预分频的HSE晶振时钟来提供的

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。