/* * rtc.h * * Created on: Jul 29, 2025 * Author: cc */ #ifndef MCU_DRIVER_INC_RTC_H_ #define MCU_DRIVER_INC_RTC_H_ #include #include "ch564.h" typedef struct{ uint8_t second; uint8_t minute; uint8_t hour; uint8_t week; uint8_t day; uint8_t month; uint8_t year; }S_RTC; typedef struct{ uint32_t hour; uint16_t minute; uint16_t second; }G_CORE_RTC; typedef struct{ uint8_t time_select; //当前时间选择 0x00:当前未选择,0x01: 选择本地定时器计数,0x02:硬件CSIO RTC时间 uint8_t csio_rtc_cnt; //CSIO RTC时钟计数 int16_t timezone; //时区偏移量 uint32_t Mcu_GetTime_tick; }TIME_INFO_T; extern S_RTC RTC_Raw_Data; extern S_RTC MCU_RTC_Data; extern S_RTC Net_RTC_Data; extern TIME_INFO_T g_time_info; extern uint32_t Log_Time_ms; void RTC_Init(void); uint8_t HEX_Conversion_To_DEC(uint8_t c_num); uint8_t DEV_Conversion_To_HEX(uint8_t c_num); uint32_t RTC_Conversion_To_Unix(S_RTC *rtc_time); void Unix_Conversion_To_RTC(S_RTC *rtc_time,uint32_t utc_tick); uint8_t RTC_ReadDate(S_RTC *psRTC); uint8_t RTC_WriteDate(S_RTC SetRTC); void RTC_TASK(void); uint8_t RTC_TimeDate_Correct_Figure(uint8_t data); #endif /* MCU_DRIVER_INC_RTC_H_ */