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定時器,關閉定時時鍾,清定時中斷標志等,不然會出現莫名重啟。

目前軟件運行休眠和喚醒都正常。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM