00001 #ifndef RTC_H 00002 #define RTC_H 00003 00004 #define RtcIdleState 0 00005 #define RtcReadSecondState 1 00006 #define RtcReadMinuteState 2 00007 #define RtcReadHourState 3 00008 #define RtcReadWeekdayState 4 00009 #define RtcReadDateState 5 00010 #define RtcReadMonthState 6 00011 #define RtcReadYearState 7 00012 00013 #define RtcControlTime 20 00014 00015 #define RtcReadSecondCmd 0x81 00016 #define RtcReadMinuteCmd 0x83 00017 #define RtcReadHourCmd 0x85 00018 #define RtcReadDateCmd 0x87 00019 #define RtcReadMonthCmd 0x89 00020 #define RtcReadWeekDayCmd 0x8b 00021 #define RtcReadYearCmd 0x8d 00022 #define RtcReadWriteProtectCmd 0x8f 00023 #define RtcReadChargerCmd 0x91 00024 00025 #define RtcWriteSecondCmd 0x80 00026 #define RtcWriteMinuteCmd 0x82 00027 #define RtcWriteHourCmd 0x84 00028 #define RtcWriteDateCmd 0x86 00029 #define RtcWriteMonthCmd 0x88 00030 #define RtcWriteWeekDayCmd 0x8a 00031 #define RtcWriteYearCmd 0x8c 00032 #define RtcWriteWriteProtectCmd 0x8e 00033 #define RtcWriteChargerCmd 0x90 00034 00035 typedef struct RTC_CONTROL{ 00036 INT8U State; 00037 INT8U Timer; 00038 INT8U Command; 00039 INT8U Data; 00040 INT8U Second; 00041 INT8U Minute; 00042 INT8U Hour; 00043 INT8U WeekDay; 00044 INT8U Date; 00045 INT8U Month; 00046 INT8U Year; 00047 }; 00048 typedef struct RTC_EVENT{ 00049 INT8U HasEvent; 00050 INT8U EventType; 00051 INT8U RwFlag; 00052 INT8U Data; 00053 }; 00054 extern struct RTC_CONTROL RtcCtrl; 00055 extern struct RTC_EVENT RtcEvent; 00056 extern void F_RtcPowerOnInit(void) LargeReentrant; 00057 extern void F_RtcSvc(void) LargeReentrant; 00058 extern INT8U F_RtcRead(INT8U) LargeReentrant; 00059 extern void F_RtcWrite(INT8U,INT8U) LargeReentrant; 00060 extern void F_RtcCurrentTimeSet(void) LargeReentrant; 00061 extern void F_RtcCurrentTimeShow(void) LargeReentrant; 00062 extern void F_RtcYearSet(INT8U) LargeReentrant; 00063 extern void F_RtcMonthSet(INT8U) LargeReentrant; 00064 extern void F_RtcDateSet(INT8U) LargeReentrant; 00065 extern void F_RtcHourSet(INT8U) LargeReentrant; 00066 extern void F_RtcMinuteSet(INT8U) LargeReentrant; 00067 extern void F_RtcSecondSet(INT8U) LargeReentrant; 00068 extern void F_RtcWeekDaySet(INT8U) LargeReentrant; 00069 extern void F_RtcYearRead(void) LargeReentrant; 00070 extern void F_RtcMonthRead(void) LargeReentrant; 00071 extern void F_RtcDateRead(void) LargeReentrant; 00072 extern void F_RtcHourRead(void) LargeReentrant; 00073 extern void F_RtcMinuteRead(void) LargeReentrant; 00074 extern void F_RtcSecondRead(void) LargeReentrant; 00075 extern void F_RtcWeekDayRead(void) LargeReentrant; 00076 extern INT8U F_RtcEventCheck(void) LargeReentrant; 00077 extern void F_RtcCommandSet(INT8U **pArgv,INT8U Argc) LargeReentrant; 00078 #endif