天天看點

STM32的HAL庫使用内部RTC

一.STM32CubeMAX配置

STM32的HAL庫使用内部RTC

注意打勾的地方,其他地方預設即可。

二.代碼分析

//時間
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);
	
}
           

繼續閱讀