一.STM32CubeMAX配置
注意打勾的地方,其他地方默认即可。
二.代码分析
//时间
RTC_TimeTypeDef xTime = {0};
//日期
RTC_DateTypeDef xDate = {0};
/*
* 读取当前 RTC 时间和日期
*/
void Read_Now_RTC(void)
{
HAL_RTC_GetTime(&hrtc, &xTime, RTC_FORMAT_BIN);
HAL_RTC_GetDate(&hrtc, &xDate, RTC_FORMAT_BIN);
//打印
printf("%d-%d-%d %d:%d:%d \n",xDate.Year,xDate.Month,xDate.Date,xTime.Hours,xTime.Minutes,xTime.Seconds);
}
/*
* 设置当前 RTC 时间和日期
*/
void SetUp_Now_RTC(uint8_t hours, uint8_t minutes, uint8_t seconds, uint8_t year, uint8_t month, uint8_t date)
{
xTime.Hours = hours;
xTime.Minutes = minutes;
xTime.Seconds = seconds;
xDate.Year = year;
xDate.Month = month;
xDate.Date = date;
//设置时间
HAL_RTC_SetTime(&hrtc, &xTime, RTC_FORMAT_BIN);
//设置日期
HAL_RTC_SetDate(&hrtc, &xDate, RTC_FORMAT_BIN);
}