打印
[STM8]

stm8 低功耗 RTC唤醒

[复制链接]
468|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ST, tc
stm8 低功耗 RTC唤醒
本人在网上百度了很多教程以后,受益匪浅,但很多时候看的半知半懂,所以觉得写一篇完整的教程给大家。

降低功耗的方法
降低系统时钟:
比如你现在的系统时钟为主时钟16M,那么你可以通过分频器降到8M,2M等:
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
关闭未使用的时钟:
从我入门单片机以来,没进入低功耗的世界时,一般都是习惯用哪个时钟把哪个时钟打开,如果是低功耗单片机,我们可以把不用的外设关掉,比如我们关掉TIM1时钟:
CLK_PeripheralClockConfig(CLK_Peripheral_TIM1,DISABLE);
关闭所有未使用的模拟功能块

如果你的设计方案在低功耗模式下,不需要CPU运行的话,那么你可以选择将stm8进入以下模式:
等待(Wait)
活跃停机(Active Halt)(可配置为慢速或快速唤醒)
停机(Halt) (可配置为慢速或快速唤醒)

使用特权

评论回复
沙发
抹茶妹妹|  楼主 | 2022-8-31 16:03 | 只看该作者
我们主要讨论这三种模式:

使用特权

评论回复
板凳
抹茶妹妹|  楼主 | 2022-8-31 16:04 | 只看该作者
等待模式:
在运行模式下执行WFI指令,进入等待模式。
COU停止运行,外设与中断控制器仍保持运行,可外设时钟门控,降低CPU频率,以及选择低功耗时钟源(LSI,HSI)结合使用。
所有寄存器与RAM的内容保持不变,之前所定义的时钟配置也保持不变。
当一个内部外部中断请求产生的时,CPU从等待模式唤醒并恢复工作。

使用特权

评论回复
地板
抹茶妹妹|  楼主 | 2022-8-31 16:07 | 只看该作者
停机模式:
主时钟停止,由fMASTER提供时钟的CPU及所有外设均被关闭,因此所有外设均被关闭。
所有寄存器与RAM的值保持不变,默认情况下时钟配置也保持不变。
MCU通过执行HALT指令进入停机模式,外部中断可将MCU从停机模式唤醒。
这种模式下,主电压调节器关闭,仅低电压调节器处于工作状态。
为了减少MCU的唤醒时间,
建议在进入暂停模式前选择HSI做为fMASTER的时钟源。

使用特权

评论回复
5
抹茶妹妹|  楼主 | 2022-8-31 16:08 | 只看该作者
活跃停机模式:
活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。

使用特权

评论回复
6
抹茶妹妹|  楼主 | 2022-8-31 16:09 | 只看该作者
在这里,我们介绍一下AWU:
AWU是用来当MCU进入低功耗的活跃停机(Active Halt)模式时提供一个内部的唤醒时间基准。该时间基准的时钟是由内部的低速RC振荡器时钟(LSI)或者通过预分频的HSE晶振时钟来提供的。

使用特权

评论回复
7
juliestephen| | 2022-9-5 14:42 | 只看该作者
stm8的中断程序中可以执行halt指令吗

使用特权

评论回复
8
myiclife| | 2022-9-5 16:52 | 只看该作者
可以定时自动唤醒嘛

使用特权

评论回复
9
51xlf| | 2022-9-7 16:41 | 只看该作者
可不可以实现进入低功耗模式后,自己进行唤醒

使用特权

评论回复
10
backlugin| | 2022-9-7 18:52 | 只看该作者
可以使用外部中断的

使用特权

评论回复
11
wwppd| | 2022-9-8 09:41 | 只看该作者
如何给STM8芯片 指定ROM地址

使用特权

评论回复
12
adolphcocker| | 2022-9-11 16:41 | 只看该作者
最大的频率是多少

使用特权

评论回复
13
i1mcu| | 2022-9-12 13:42 | 只看该作者
stm8的AWU唤醒是不是就是RTC唤醒

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

309

帖子

0

粉丝