#include "FM_RTC.h" extern RTC_HandleTypeDef hrtc; /** * @brief 初始化rtc * @param * @retval */ void FM_RTC_Init(void) { HD_RTC_Init(); } /** * @brief 设置rtc时间 * @param * @retval */ void setRTC_Time(timeInfo *time) { /* 日期结构体 */ RTC_DateTypeDef setData; /* 时间结构体 */ RTC_TimeTypeDef setTime; setData.Year = time->year; setData.Month = time->month; setData.Date = time->day; setTime.Hours = time->hour; setTime.Minutes = time->minute; setTime.Seconds = time->second; HAL_RTC_SetDate(&hrtc, &setData, RTC_FORMAT_BIN); HAL_RTC_SetTime(&hrtc, &setTime, RTC_FORMAT_BIN); } /** * @brief 得到rtc时间 * @param * @retval */ void getRTC_Time(timeInfo *time) { /* 日期结构体 */ RTC_DateTypeDef getData; /* 时间结构体 */ RTC_TimeTypeDef getTime; HAL_RTC_GetDate(&hrtc, &getData, RTC_FORMAT_BIN); HAL_RTC_GetTime(&hrtc, &getTime, RTC_FORMAT_BIN); time->year = getData.Year; time->month = getData.Month; time->day = getData.Date; time->hour = getTime.Hours; time->minute = getTime.Minutes; time->second = getTime.Seconds; }