这里我简单的把时间设置的函数做了个封装:
#pragma pack(1)
typedef struct
{
uint8_t Hours;
uint8_t Minutes;
uint8_t Seconds;
uint8_t WeekDay;
uint8_t Month;
uint8_t Day;
uint8_t Year;
} rtc_time_t;
#pragma pack()
void RTC_GetTime(rtc_time_t* time)
{
HAL_RTC_GetTime(&hrtc, (RTC_TimeTypeDef *)&time->Hours, RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, (RTC_DateTypeDef *)&time->WeekDay, RTC_FORMAT_BIN);
}
void RTC_SetTime(rtc_time_t* time)
{
HAL_RTC_SetTime(&hrtc, (RTC_TimeTypeDef *)&time->Hours, RTC_FORMAT_BIN);
HAL_RTC_SetDate(&hrtc, (RTC_DateTypeDef *)&time->WeekDay, RTC_FORMAT_BIN);
}
|