說明此辦法僅爭對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句柄中。