如何在STM32F1上實現日歷功能?
一、關于RTC
RTC:Real TimeClock,實時時鐘,記錄當前時間的計算機時鐘。
RTC 不僅應用于個人計算機、服務器和嵌入式系統,幾乎所有需要準確計時的電子設備也都會使用。
支持 RTC 的微控制器可用于精密計時器、鬧鐘、手表、小型電子記事薄以及其它多種設備。
在實際項目中,運用時間戳的地方很多,比如:存儲數據、日志消息、系統故障等。
二、STM32的RTC
在所有STM32處理器中,都集成了一個RTC模塊,是一個獨立的 BCD 定時器 / 計數器。
但是,在STM32F1系列中,RTC模塊的功能相對比較簡單(也許是最前推出的原因)。其中,一個重要的功能,日歷功能在F1系列中是不具備的。
F1的RTC可以實現1秒累計計數,很早之前,我自己通過軟件實現日歷功能,其中包含閏年、月份28、29天的處理。我之前進行過多次驗證,但也不敢保證完全沒問題。
RTC功能概述:
處理STM32F1,其它系列的RTC基本具有很多高級功能,比如:日歷、鬧鐘、定時喚醒單元、數字校準、同步、時間戳和高級入侵檢測等。
三、日歷功能
RTC最重要,最常用的功能就是日歷功能,但F1系列中的RTC模塊不具備。
打開F1手冊,你在RTC框圖,你會發現沒有日歷(Calendar)相關的寄存器。而且其他系列就有:
除F1系列,可輕松配置和顯示下列日歷數據字段:
·含有下列字段的日歷:
– 亞秒 (不可編程)
– 秒
– 分
– 時 ( 12 小時或 24 小時格式)
– 星期
– 日
– 月
– 年
·二進碼十進數 ( BCD)格式的日歷
·自動管理天數為 28、 29 (閏年)、 30 和 31 的月份
·夏令時調整可用軟件編程
四、鬧鐘功能
相對F1系列,其他系列的鬧鐘功能自然也更高級了。STM32鬧鐘基于日歷基礎之上,只需簡單簡單編程即可實現鬧鐘功能。
鬧鐘單元均具有以下功能:
·支持對鬧鐘自由編程:亞秒 (稍后討論)、秒、分鐘、小時和日期字段可以單獨選擇或屏蔽,以實現多種鬧鐘組合。
·能夠在發生鬧鐘事件時使器件退出低功耗模式。
·可將鬧鐘事件發送到極性可配置的特定輸出引腳。
·具有專用的鬧鐘標志和中斷。
五、其他
RTC功能還有很多重要功能,這里只簡單說了常用、重要的日歷和鬧鐘。更多RTC知識可參看MCU對應的參考手冊。
最后,標題中“不建議用STM32F1的RTC實現日歷功能”,就是因為F1不具備RTC功能,軟件實現復雜,同時也不具備一些高級功能。
額外:RTC屬于一個計時器,也可實現定時器的一些基本功能。
-
電子
+關注
關注
32文章
1888瀏覽量
89463 -
計算機
+關注
關注
19文章
7520瀏覽量
88223 -
定時器
+關注
關注
23文章
3251瀏覽量
115021
原文標題:不建議用STM32F1的RTC實現日歷功能
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
ADS8381是否具備輸入過壓保護功能和靜電防護功能?
RTC時鐘芯片+電池的應用案例(一)
![<b class='flag-5'>RTC</b>時鐘芯片+電池的應用案例(一)](https://file.elecfans.com/web2/M00/7D/C2/pYYBAGN92XSAIJ_mAACf9RjpktA221.png)
解析愛普生RTC芯片選型的五大關鍵
![解析愛普生<b class='flag-5'>RTC</b>芯片選型的<b class='flag-5'>五</b>大關鍵](https://file1.elecfans.com/web3/M00/04/F9/wKgZPGd7iUiAfos0AACtG02Aqhg906.png)
RTC時鐘芯片的特性及應用場景
![<b class='flag-5'>RTC</b>時鐘芯片的特性及應用場景](https://file1.elecfans.com/web2/M00/06/AC/wKgaombelDOAbEK0AAJSoeeNH8A040.jpg)
【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)RTC 模塊介紹
![【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)<b class='flag-5'>RTC</b> 模塊介紹](https://file1.elecfans.com/web2/M00/03/E0/wKgZombH42WAIyq2AAA3DFzN548758.png)
EPSON愛普生高精度、低功耗RTC RX8901CE+松下Panasonic高性能電池CR2032的組合應用
![EPSON愛普生高精度、低功耗<b class='flag-5'>RTC</b> RX8901CE+松下Panasonic高性能電池CR2032的組合應用](https://file1.elecfans.com/web2/M00/02/24/wKgaoma0NR6AHok4AABiR5grD2M926.png)
為什么深度睡眠期間RTC定時器會丟失呢?
stm32f051r8中RTC日歷時鐘如何將年月日時分秒轉換成秒計數?
RTC電池壽命的評估考慮因素
![<b class='flag-5'>RTC</b>電池壽命的評估考慮因素](https://file1.elecfans.com/web2/M00/C5/5F/wKgaomXzswqAS7grAAAWjEA1MDs354.jpg)
ArmSoM Rockchip系列產品 通用教程 之 RTC 使用
![ArmSoM Rockchip系列產品 通用教程 之 <b class='flag-5'>RTC</b> 使用](https://file1.elecfans.com/web2/M00/C2/B4/wKgZomXm3ouAKi9uAAEULQ447S0465.png)
評論