實時時鐘?(RTC)?是一個獨立的 BCD 定時器/計數(shù)器。RTC 提供具有可編程鬧鐘中斷功能的日歷時鐘?/日歷。RTC 還包含具有中斷功能的周期性可編程喚醒標志。系統(tǒng)可以自動將月份的天數(shù)補償為 28、29(閏年)、30?和 31 天。只要芯片的備用電源一直供電,RTC上的時間會一直走。新建工程
本章程序在串口printf工程的基礎上修改,復制串口printf的工程,修改文件夾名。點擊STM32F746I.ioc打開STM32cubeMX的工程文件重新配置。RTC選擇內(nèi)部喚醒(Internal WakeUp)開啟RTC。開啟外部低速晶振,PC14,PC15配置。
RTC時鐘選擇為外部低速晶振(LSE),頻率為32.768。
在RTC配置中,設置時間和日期,其他為默認設置。此處設置時間為2016/04/16 16:25:49。
生成報告以及代碼,編譯程序。
添加應用程序
在rtc.c文件中可以看到ADC初始化函數(shù)。在stm32f7xx_hal_rtc.h頭文件中可以看到rtc時間和日期讀寫操作函數(shù)。
從操作函數(shù)中可以看到,時間和日期是以結(jié)構(gòu)體的形式讀寫的。所以在main.c文件前面申明兩個結(jié)構(gòu)體變量存儲讀取的時間和日期數(shù)據(jù)。
/*?USER?CODE?BEGIN?PV?*//* Private variables --------*/RTC_DateTypeDef sdatestructure;RTC_TimeTypeDef stimestructure;/* USER CODE END PV */在stm32f7xx_hal_rtc.h頭文件中,可以找到RTC_TimeTypeDef,RTC_DateTypeDef這兩個結(jié)構(gòu)體的成員變量。
在while循環(huán)中添加應用程序,讀取當前的時間和日期,并通過串口發(fā)送到電腦上顯示。
/* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */ /* Get the RTC current Time ,must get time first*/ HAL_RTC_GetTime( 





