#ifndef __RTC_H #define __RTC_H #include "stm32f10x.h" /*********应用层外部调用文件**************/ #include "common.h" /*****************************************/ /**************************************************************************** * RTC相关配置 ****************************************************************************/ #define RTC_IRQn_PreemptionPriority 15 //RTC抢占优先级 #define RTC_IRQn_SubPriority 0 //RTC子优先级,使用FreeRTOS时没有子优先级,设置为0即可 #define RTCAlarm_IRQn_PreemptionPriority 15 //RTCAlarm抢占优先级 #define RTCAlarm_IRQn_SubPriority 0 //RTCAlarm子优先级,使用FreeRTOS时没有子优先级,设置为0即可 typedef struct //2017-09-21 14:40:35 { //公历日月年周 vu8 w_year[4] ; //"2017" vu8 dash1 ; //"-" vu8 w_month[2] ; //"09" vu8 dash2 ; //"-" vu8 w_date[2] ; //“21” vu8 spacing ; //" " vu8 hour[2] ; //"14" vu8 colon1 ; //":" vu8 min[2] ; //"40" vu8 colon2 ; //":" vu8 sec[2] ; //"35" //vu8 week ; }Calendar ; typedef union uBytes19 { Calendar calendar ; uint8_t bytes[19] ; }Calendar_u ; extern Calendar_u uCalendar ; extern RunResult RTC_Init(void) ; //初始化RTC,返回0,失败;1,成功; extern uint8_t RTC_Get(Calendar_u *getCalendar) ; //更新时间 extern RunResult RTC_Set(Calendar_u *setCalendar); //设置时间 extern RunResult RTC_Alarm_Set(uint16_t syear, uint8_t smon, uint8_t sday, uint8_t hour, uint8_t min,uint8_t sec); //extern void RTC_IRQHandler(void) ; uint8_t CheckLeepYear(uint16_t year); //平年,闰年判断 uint8_t RTC_Get_Week(uint16_t year, uint8_t month, uint8_t day); #endif