MM32F013通用MCU系列萬年歷解決方案靈動微電子MM32F013內部的RTC是一個獨立的定時器單元,它擁有一組連續計數的計數器,配置相應的寄存器參數,可以實現鬧鐘、秒中斷、毫秒中斷、MCU定時喚醒、萬年歷等功能。
主要特征 ?可編程的預分頻系數:分頻系數最高為220 ?32位的可編程計數器,用于較長時間段的測量 ?2個分離的時鐘:用于APB1接口的PCLK1和RTC時鐘(RTC時鐘的頻率必須小于PCLK1時鐘頻率的四分之一以上) ?可以選擇以下三種RTC的時鐘源 –HSE時鐘除以128 –LSE振蕩器時鐘 –LSI振蕩器時鐘 ?2個獨立的復位類型 –APB1接口由系統復位 –RTC核心(預分頻器、鬧鐘、計數器和分頻器)只能由后備域復位 ?3個專門的屏蔽中斷 –鬧鐘中斷,用來產生一個軟件可編程的鬧鐘中斷 –秒/毫秒中斷,用來產生一個可編程的周期性中斷信號(最長可達1秒) –溢出中斷,指示內部可編程計數器溢出并返回為0的狀態
本文將重點介紹如何在MM32F013上通過內部RTC模塊實現萬年歷的功能。
實現功能 通過修改RTC計數器的初始值來設置系統當前的時間和日期,使能RTC秒中斷功能;在RTC產生秒中斷后,通過獲取當前RTC的計數值,將其轉換為對應的年月日信息,再通過蔡勒公式計算出星期,將最終的結果通過串口的形式輸出顯示。
RTC模塊的電源域處在VDD數字電源域,只要MCU供電就可以使用RTC,沒有獨立的VBAT供電引腳,所以無法使用紐扣電池類的應用。 |