RTC簡介
實時時鐘(RTC)是一個獨立的 BCD 定時器/計數(shù)器。RTC 提供具有可編程鬧鐘中斷功能的日歷時鐘/日歷。RTC 還包含具有中斷功能的周期性可編程喚醒標(biāo)志。系統(tǒng)可以自動將月份的天數(shù)補償為 28、29(閏年)、30和 31 天。只要芯片的備用電源一直供電,RTC上的時間會一直走。
新建工程
本章程序在串口printf工程的基礎(chǔ)上修改,復(fù)制串口printf的工程,修改文件夾名。點擊STM32F746I.ioc打開STM32cubeMX的工程文件重新配置。RTC選擇內(nèi)部喚醒(Internal WakeUp)開啟RTC。開啟外部低速晶振,PC14,PC15配置。
RTC時鐘選擇為外部低速晶振(LSE),頻率為32.768。
在RTC配置中,設(shè)置時間和日期,其他為默認(rèn)設(shè)置。此處設(shè)置時間為2016/04/16 1649。
生成報告以及代碼,編譯程序。
添加應(yīng)用程序
在rtc.c文件中可以看到ADC初始化函數(shù)。在stm32f7xx_hal_rtc.h頭文件中可以看到rtc時間和日期讀寫操作函數(shù)。
從操作函數(shù)中可以看到,時間和日期是以結(jié)構(gòu)體的形式讀寫的。所以在main.c文件前面申明兩個結(jié)構(gòu)體變量存儲讀取的時間和日期數(shù)據(jù)。
?
/*USERCODEBEGINPV*//*Privatevariables--------*/RTC_DateTypeDefsdatestructure;RTC_TimeTypeDefstimestructure;/*USERCODEENDPV*/
在stm32f7xx_hal_rtc.h頭文件中,可以找到RTC_TimeTypeDef,RTC_DateTypeDef這兩個結(jié)構(gòu)體的成員變量。
在while循環(huán)中添加應(yīng)用程序,讀取當(dāng)前的時間和日期,并通過串口發(fā)送到電腦上顯示。
/*USERCODEBEGINWHILE*/while(1){/*USERCODEENDWHILE*//*USERCODEBEGIN3*//*GettheRTCcurrentTime,mustgettimefirst*/HAL_RTC_GetTime(&hrtc,&stimestructure,RTC_FORMAT_BIN);/*GettheRTCcurrentDate*/HAL_RTC_GetDate(&hrtc,&sdatestructure,RTC_FORMAT_BIN);/*DisplaydateFormat:yy/mm/dd*/printf("%02d/%02d/%02d ",2000+sdatestructure.Year,sdatestructure.Month,sdatestructure.Date);/*DisplaytimeFormat:hhss*/printf("%02d:%02d:%02d ",stimestructure.Hours,stimestructure.Minutes,stimestructure.Seconds);printf(" ");HAL_Delay(1000);}/*USERCODEEND3*/
程序中使用HAL_RTC_GetTime(),HAL_RTC_GetDate()讀取時間和日期,并保存到結(jié)構(gòu)體變量中,然后通過串口輸出讀取的時間和日期。注意:要先讀取時間再讀取日期,如果先讀取日期在讀取時間會導(dǎo)致讀取的時間不準(zhǔn)確,一直都是原來設(shè)置的時間。
編譯程序并下載到開發(fā)板。打開串口調(diào)試助手。設(shè)置波特率為115200。串口助手上會顯示RTC的時間日期。
責(zé)任編輯:lq
-
定時器
+關(guān)注
關(guān)注
23文章
3256瀏覽量
115450 -
串口
+關(guān)注
關(guān)注
14文章
1560瀏覽量
77146 -
RTC
+關(guān)注
關(guān)注
2文章
544瀏覽量
67082
原文標(biāo)題:STM32CubeMX-實時時鐘(RTC)
文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Abracon推出內(nèi)置XO實時時鐘
RTC時鐘芯片+電池的應(yīng)用案例(一)
![<b class='flag-5'>RTC</b><b class='flag-5'>時鐘</b>芯片+電池的應(yīng)用案例(一)](https://file.elecfans.com/web2/M00/7D/C2/pYYBAGN92XSAIJ_mAACf9RjpktA221.png)
愛普生RTC實時時鐘模塊助力車載BMS系統(tǒng)更好運行
![愛普生<b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>模塊助力車載BMS系統(tǒng)更好運行](https://file1.elecfans.com/web1/M00/F5/7F/wKgaoWc9fxSAb6fGAADTchYv4YA682.png)
實時時鐘芯片RTC
適用于智能門鎖的低功耗RTC實時時鐘模塊RX8010SJ
![適用于智能門鎖的低功耗<b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>模塊RX8010SJ](https://file1.elecfans.com/web2/M00/C7/73/wKgaomYKfKyANaWEAAAh9cwAwss963.png)
bq32000實時時鐘(RTC)數(shù)據(jù)表
![bq32000<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
BQ32002實時時鐘(RTC)數(shù)據(jù)表
![BQ32002<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
bq3285E/L實時時鐘(RTC)數(shù)據(jù)表
![bq3285E/L<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
bq3285實時時鐘(RTC)數(shù)據(jù)表
![bq3285<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
DP8573A實時時鐘(RTC)數(shù)據(jù)表
![DP8573A<b class='flag-5'>實時時鐘</b>(<b class='flag-5'>RTC</b>)數(shù)據(jù)表](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
TCXO RTC實時時鐘模塊的特性
![TCXO <b class='flag-5'>RTC</b><b class='flag-5'>實時時鐘</b>模塊的特性](https://file1.elecfans.com/web2/M00/03/6B/wKgaoma8KBWAAXzLAAAwBoxu9r8464.png)
評論