[STM8] stm8 低功耗 RTC唤醒

[复制链接]
700|13
 楼主| 抹茶妹妹 发表于 2022-8-31 16:02 | 显示全部楼层 |阅读模式
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 | 显示全部楼层
我们主要讨论这三种模式:
44063630f15d69b104.png
 楼主| 抹茶妹妹 发表于 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的时钟源。
 楼主| 抹茶妹妹 发表于 2022-8-31 16:08 | 显示全部楼层
活跃停机模式:
活跃停机模式与停机模式类似,但它不需要外部中断唤醒。它使用AWU,在一定的延时后产生一个内部唤醒事件,延迟时间是用户可编程的。
 楼主| 抹茶妹妹 发表于 2022-8-31 16:09 | 显示全部楼层
在这里,我们介绍一下AWU:
AWU是用来当MCU进入低功耗的活跃停机(Active Halt)模式时提供一个内部的唤醒时间基准。该时间基准的时钟是由内部的低速RC振荡器时钟(LSI)或者通过预分频的HSE晶振时钟来提供的。
juliestephen 发表于 2022-9-5 14:42 | 显示全部楼层
stm8的中断程序中可以执行halt指令吗
myiclife 发表于 2022-9-5 16:52 | 显示全部楼层
可以定时自动唤醒嘛
51xlf 发表于 2022-9-7 16:41 | 显示全部楼层
可不可以实现进入低功耗模式后,自己进行唤醒
backlugin 发表于 2022-9-7 18:52 | 显示全部楼层
可以使用外部中断的
wwppd 发表于 2022-9-8 09:41 | 显示全部楼层
如何给STM8芯片 指定ROM地址
adolphcocker 发表于 2022-9-11 16:41 | 显示全部楼层
最大的频率是多少
i1mcu 发表于 2022-9-12 13:42 | 显示全部楼层
stm8的AWU唤醒是不是就是RTC唤醒
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

309

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部