63 lines
1.2 KiB
C
63 lines
1.2 KiB
C
|
|
||
|
#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;
|
||
|
}
|