STM32 HAL庫RTC復位丟失年月日的解決辦法

說明此辦法僅爭對HAL庫的,標準庫或寄存器操作可以採用其他跟方便的方式。

原因:

由於HAL庫裏的年月日使用RTC句柄維護的,所以一旦復位,作爲臨時變量數據就會丟失,相關的變量是:

RTC_DateTypeDef             DateToUpdate;       /*!< Current date set by user and updated automatically  */

相關的庫:

HAL_RTC_GetTime中的days_elapsed計算天間隔,RTC_WriteTimeCounter(hrtc, counter_time)進行修正,RTC_DateUpdate(hrtc, days_elapsed);進行年月日星期的更新。

解決辦法:

我纔有的是RTC備份區域,將DateToUpdate的數據保存起來,在重啓的時候寫入到RTC句柄中。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章