STM8的定时唤醒单元的使用

STM8L的“RTC periodic wakeup unit”可以通过寄存器RTC_CR1的WUCKSEL[2:0] bits来配置不同的唤醒周期。具体的有以下的三种模式:
  1.1,WUCKSEL[2:0] = 0xxb for short wakeup periods
  1.2 WUCKSEL[2:0] = 10xb for medium wakeup periods
  1.3 WUCKSEL[2:0] = 11xb for long wakeup periods
其中short wakeup periods时钟的分频是如下流程:

              

则的周期唤醒在不同时钟源频率下的clk为:

  

  最小的唤醒周期为(0x0001+1)*0.125us = 0.25us

  最大的唤醒周期为(0xfffff+1)*31.25ms = 2048s

medium wakeup periods时钟源配置流程:

  

则的周期唤醒在不同时钟源频率下的clk为:

  

  最小的唤醒周期为(0x0000+1)*0.125us = 0.125us

  最大的唤醒周期为(0xfffff+1)*8192s = 536870912s

 long wakeup periods的时钟源计算和medium wakeup periods是一样区别就是WUCKSEL[2:0] = 11xb和重载的计数是从0x10000-0x1FFFF;

所有的时钟源的计算都遵循以下公式:

  单位HZ

目前公司项目是用LSE配置的1HZ使用halt的进入低功耗模式,休眠期间功耗为1.5ua左右。

另外在唤醒以后使用TIMEER1作为整个软件系统的嘀嗒时基,注意定时器休眠之前的操作,中断关闭,DeInitt定时器,关闭定时时钟,清定时中断标志等,不然会出现莫名重启。

目前软件运行休眠和唤醒都正常。

 

转载于:https://www.cnblogs.com/auto-reboot/p/6855368.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值