2025-02-07 03:00:30 +00:00
|
|
|
|
C51 COMPILER V9.01 RTC 02/07/2025 10:36:15 PAGE 1
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILER V9.01, COMPILATION OF MODULE RTC
|
|
|
|
|
OBJECT MODULE PLACED IN .\output\RTC.obj
|
|
|
|
|
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\RTC.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore_Load.OR
|
|
|
|
|
-C) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;.\code_c
|
|
|
|
|
-lassb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\RTC.lst) OBJECT(.\output\RTC.obj)
|
|
|
|
|
|
|
|
|
|
line level source
|
|
|
|
|
|
|
|
|
|
1 /********************************************************************************
|
|
|
|
|
2 Copyright (C), Sinowealth Electronic. Ltd.
|
|
|
|
|
3 Author: Sino
|
|
|
|
|
4 Version: V0.0
|
|
|
|
|
5 Date: 2020/04/26
|
|
|
|
|
6 History:
|
|
|
|
|
7 V2.0 2020/04/26 Preliminary
|
|
|
|
|
8 ********************************************************************************/
|
|
|
|
|
9 #include "Main.h"
|
|
|
|
|
10
|
|
|
|
|
11
|
|
|
|
|
12 BOOL bRTCErr;
|
|
|
|
|
13 BOOL bRTCTwiRWErr;
|
|
|
|
|
14 U8 xdata ucRTCTwiRWErrDelayCnt;
|
|
|
|
|
15 RTC_VAR xdata RTC; //For External RTC
|
|
|
|
|
16
|
|
|
|
|
17 /*************************************************************************************************
|
|
|
|
|
18 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCTwiCheck
|
|
|
|
|
19 * <20><> <20><>: <20><>
|
|
|
|
|
20 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
21 * <20><> <20><>: <20><><EFBFBD><EFBFBD>5S<35><53><EFBFBD>RTC<54><43>I2CͨѶ<CDA8><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbRTCErr=1
|
|
|
|
|
22 *************************************************************************************************/
|
|
|
|
|
23 void RTCTwiCheck(void)
|
|
|
|
|
24 {
|
|
|
|
|
25 1 if(bEnEEPRomBK)
|
|
|
|
|
26 1 {
|
|
|
|
|
27 2 if(bRTCTwiRWErr)
|
|
|
|
|
28 2 {
|
|
|
|
|
29 3 if(++ucRTCTwiRWErrDelayCnt >= TIME_1S_5S)
|
|
|
|
|
30 3 {
|
|
|
|
|
31 4 bRTCErr = 1;
|
|
|
|
|
32 4 ucRTCTwiRWErrDelayCnt = TIME_1S_5S;
|
|
|
|
|
33 4 }
|
|
|
|
|
34 3 }
|
|
|
|
|
35 2 else
|
|
|
|
|
36 2 {
|
|
|
|
|
37 3 ucRTCTwiRWErrDelayCnt = 0;
|
|
|
|
|
38 3 }
|
|
|
|
|
39 2 }
|
|
|
|
|
40 1 }
|
|
|
|
|
41
|
|
|
|
|
42
|
|
|
|
|
43 /*************************************************************************************************
|
|
|
|
|
44 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCWrite
|
|
|
|
|
45 * <20><> <20><>: WrAddr: <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>Length<74><68><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD>WrBuf<75><66><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>Buf
|
|
|
|
|
46 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
47 * <20><> <20><>: RTCд<43>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>
|
|
|
|
|
48 *************************************************************************************************/
|
|
|
|
|
49 BOOL RTCWrite(U8 WrAddr, U8 Length, U8 xdata *WrBuf)
|
|
|
|
|
50 {
|
|
|
|
|
51 1 BOOL Result = 0;
|
|
|
|
|
52 1 U8 i;
|
|
|
|
|
53 1
|
2025-02-07 03:00:30 +00:00
|
|
|
|
C51 COMPILER V9.01 RTC 02/07/2025 10:36:15 PAGE 2
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
54 1 if(!bRTCErr)
|
|
|
|
|
55 1 {
|
|
|
|
|
56 2 for(i=0; i<5; i++)
|
|
|
|
|
57 2 {
|
|
|
|
|
58 3 #ifdef TWI_Hardware_Module
|
|
|
|
|
59 3 if(TwiWrite(RTC_ID, WrAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, WrBuf))
|
|
|
|
|
60 3 {
|
|
|
|
|
61 4 Result = 1;
|
|
|
|
|
62 4 break;
|
|
|
|
|
63 4 }
|
|
|
|
|
64 3 #else
|
|
|
|
|
if(Result = TwiWrite(RTC_ID, WrAddr, Length, WrBuf))
|
|
|
|
|
{
|
|
|
|
|
Result = 1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
71 3 Delay1ms(1);
|
|
|
|
|
72 3 }
|
|
|
|
|
73 2 }
|
|
|
|
|
74 1 bRTCTwiRWErr = !Result;
|
|
|
|
|
75 1
|
|
|
|
|
76 1 return Result;
|
|
|
|
|
77 1 }
|
|
|
|
|
78
|
|
|
|
|
79
|
|
|
|
|
80 /*************************************************************************************************
|
|
|
|
|
81 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCRead
|
|
|
|
|
82 * <20><> <20><>: RdAddr: <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>Length<74><68><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD>WrBuf<75><66><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>Buf
|
|
|
|
|
83 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
84 * <20><> <20><>: RTC<54><43><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
85 *************************************************************************************************/
|
|
|
|
|
86 BOOL RTCRead(U8 RdAddr, U8 Length, U8 xdata *RdBuf)
|
|
|
|
|
87 {
|
|
|
|
|
88 1 BOOL Result = 0;
|
|
|
|
|
89 1 U8 i;
|
|
|
|
|
90 1
|
|
|
|
|
91 1 if(!bRTCErr)
|
|
|
|
|
92 1 {
|
|
|
|
|
93 2 for(i=0; i<5; i++)
|
|
|
|
|
94 2 {
|
|
|
|
|
95 3 #ifdef TWI_Hardware_Module
|
|
|
|
|
96 3 if(TwiRead(RTC_ID, RdAddr, TWI_ADDR_1B, Length, TWI_CRC_NO, RdBuf))
|
|
|
|
|
97 3 {
|
|
|
|
|
98 4 Result = 1;
|
|
|
|
|
99 4 break;
|
|
|
|
|
100 4 }
|
|
|
|
|
101 3 #else
|
|
|
|
|
if(TwiRead(RTC_ID, RdAddr, Length, RdBuf))
|
|
|
|
|
{
|
|
|
|
|
Result = 1;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
108 3 Delay1ms(1);
|
|
|
|
|
109 3 }
|
|
|
|
|
110 2 }
|
|
|
|
|
111 1 bRTCTwiRWErr = !Result;
|
|
|
|
|
112 1
|
|
|
|
|
113 1 return Result;
|
|
|
|
|
114 1 }
|
|
|
|
|
115
|
2025-02-07 03:00:30 +00:00
|
|
|
|
C51 COMPILER V9.01 RTC 02/07/2025 10:36:15 PAGE 3
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
116 /*************************************************************************************************
|
|
|
|
|
117 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCReadTime
|
|
|
|
|
118 * <20><> <20><>: RdAddr: <20>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7>Length<74><68><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3>ȣ<EFBFBD>WrBuf<75><66><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD>Buf
|
|
|
|
|
119 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
120 * <20><> <20><>: RTC<54><43><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
121 *************************************************************************************************/
|
|
|
|
|
122 BOOL RTCReadTime(RTC_VAR xdata *RtcRdVal)
|
|
|
|
|
123 {
|
|
|
|
|
124 1 U8 xdata rtcbuf[9];
|
|
|
|
|
125 1 BOOL Result = 0;
|
|
|
|
|
126 1
|
|
|
|
|
127 1 if(RTCRead(0x00, 9, &rtcbuf)) //<2F><>RTC<54><43>ȡʱ<C8A1><CAB1>
|
|
|
|
|
128 1 {
|
|
|
|
|
129 2 if((rtcbuf[7]&0x01) == 0x00) //judge RTCF bit<69><74><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
130 2 {
|
|
|
|
|
131 3 if( ((rtcbuf[2]&0x80) == 0) //<2F><><EFBFBD><EFBFBD>24Сʱ<D0A1><CAB1>
|
|
|
|
|
132 3 || ((rtcbuf[0]&0x70) > 0x50) || ((rtcbuf[0]&0x0F) > 0x09) || ((rtcbuf[0]&0x7F) > 0x59)
|
|
|
|
|
133 3 || ((rtcbuf[1]&0x70) > 0x50) || ((rtcbuf[1]&0x0F) > 0x09) || ((rtcbuf[1]&0x7F) > 0x59)
|
|
|
|
|
134 3 || ((rtcbuf[2]&0x30) > 0x20) || ((rtcbuf[2]&0x0F) > 0x09) || ((rtcbuf[2]&0x2F) > 0x24)
|
|
|
|
|
135 3 || ((rtcbuf[3]&0x30) > 0x30) || ((rtcbuf[3]&0x0F) > 0x09) || ((rtcbuf[3]&0x3F) > 0x31) || (!(r
|
|
|
|
|
-tcbuf[3]&0x3F))
|
|
|
|
|
136 3 || ((rtcbuf[4]&0x10) > 0x10) || ((rtcbuf[4]&0x0F) > 0x09) || ((rtcbuf[4]&0x1F) > 0x12) || (!(r
|
|
|
|
|
-tcbuf[4]&0x1F))
|
|
|
|
|
137 3 || ((rtcbuf[5]&0xF0) > 0x90) || ((rtcbuf[5]&0x0F) > 0x09) || ((rtcbuf[5]&0xFF) > 0x99)
|
|
|
|
|
138 3 || ((rtcbuf[6]&0x07) > 0x06) ) //<2F><>Сʱ<D0A1>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>ݺϷ<DDBA><CFB7>Խ<EFBFBD><D4BD>м<EFBFBD><D0BC><EFBFBD>
|
|
|
|
|
139 3 {
|
|
|
|
|
140 4 rtcbuf[0] = RtcRdVal->Second; //<2F><><EFBFBD>ݲ<EFBFBD><DDB2>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪRTCδ<43><CEB4>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
141 4 rtcbuf[1] = RtcRdVal->Minute;
|
|
|
|
|
142 4 rtcbuf[2] = RtcRdVal->Hour;
|
|
|
|
|
143 4 rtcbuf[3] = RtcRdVal->Date;
|
|
|
|
|
144 4 rtcbuf[4] = RtcRdVal->Month;
|
|
|
|
|
145 4 rtcbuf[5] = RtcRdVal->Year;
|
|
|
|
|
146 4 rtcbuf[6] = RtcRdVal->Week;
|
|
|
|
|
147 4
|
|
|
|
|
148 4 Result = RTCModifyTime((RTC_VAR xdata *)(&rtcbuf));
|
|
|
|
|
149 4 }
|
|
|
|
|
150 3 else
|
|
|
|
|
151 3 {
|
|
|
|
|
152 4 RtcRdVal->Second = rtcbuf[0]; //<2F><><EFBFBD>ݺϷ<DDBA><CFB7><EFBFBD><EFBFBD><EFBFBD><F2B1A3B4><EFBFBD>RTC<54><43><EFBFBD>ص<EFBFBD>ʱ<EFBFBD><CAB1>
|
|
|
|
|
153 4 RtcRdVal->Minute = rtcbuf[1];
|
|
|
|
|
154 4 RtcRdVal->Hour = rtcbuf[2]&0x1F;
|
|
|
|
|
155 4 RtcRdVal->Date = rtcbuf[3];
|
|
|
|
|
156 4 RtcRdVal->Month = rtcbuf[4];
|
|
|
|
|
157 4 RtcRdVal->Year = rtcbuf[5];
|
|
|
|
|
158 4 RtcRdVal->Week = rtcbuf[6];
|
|
|
|
|
159 4
|
|
|
|
|
160 4 Result = 1;
|
|
|
|
|
161 4 }
|
|
|
|
|
162 3 }
|
|
|
|
|
163 2 else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪRTC<54><43><EFBFBD><D7BC>
|
|
|
|
|
164 2 {
|
|
|
|
|
165 3 Result = RTCModifyTime((RTC_VAR xdata *)RtcRdVal); //<2F><><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD><EFBFBD>E2<45>ж<EFBFBD>ȡ<EFBFBD><C8A1>ʱ<EFBFBD>䣬<EFBFBD><E4A3AC><EFBFBD>̶<EFBFBD>
|
|
|
|
|
-ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>RTC
|
|
|
|
|
166 3 }
|
|
|
|
|
167 2 }
|
|
|
|
|
168 1
|
|
|
|
|
169 1 return Result;
|
|
|
|
|
170 1 }
|
|
|
|
|
171
|
|
|
|
|
172
|
|
|
|
|
173 /*************************************************************************************************
|
|
|
|
|
174 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCModifyTime
|
2025-02-07 03:00:30 +00:00
|
|
|
|
C51 COMPILER V9.01 RTC 02/07/2025 10:36:15 PAGE 4
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
175 * <20><> <20><>: RTC<54><43><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD>
|
|
|
|
|
176 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
177 * <20><> <20><>: RTC<54><43><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
178 *************************************************************************************************/
|
|
|
|
|
179 BOOL RTCModifyTime(RTC_VAR xdata *RtcMdyVal)
|
|
|
|
|
180 {
|
|
|
|
|
181 1 BOOL Result = 0;
|
|
|
|
|
182 1 U8 xdata rtcdata;
|
|
|
|
|
183 1 U8 xdata rtctemp[7];
|
|
|
|
|
184 1
|
|
|
|
|
185 1 rtcdata = 0x90;
|
|
|
|
|
186 1 Result = RTCWrite(RTC_REG_STATUS, 1, &rtcdata);
|
|
|
|
|
187 1
|
|
|
|
|
188 1 rtctemp[0] = RtcMdyVal->Second;
|
|
|
|
|
189 1 rtctemp[1] = RtcMdyVal->Minute;
|
|
|
|
|
190 1 rtctemp[2] = RtcMdyVal->Hour|0x80; //<2F><><EFBFBD><EFBFBD>Ϊ24Сʱ<D0A1><CAB1>
|
|
|
|
|
191 1 rtctemp[3] = RtcMdyVal->Date;
|
|
|
|
|
192 1 rtctemp[4] = RtcMdyVal->Month;
|
|
|
|
|
193 1 rtctemp[5] = RtcMdyVal->Year;
|
|
|
|
|
194 1 rtctemp[6] = RtcMdyVal->Week;
|
|
|
|
|
195 1
|
|
|
|
|
196 1 Result = RTCWrite(RTC_REG_SECOND, 7, (U8 xdata *)&rtctemp);
|
|
|
|
|
197 1
|
|
|
|
|
198 1 return Result;
|
|
|
|
|
199 1 }
|
|
|
|
|
200
|
|
|
|
|
201
|
|
|
|
|
202 /*************************************************************************************************
|
|
|
|
|
203 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: RTCInitTime
|
|
|
|
|
204 * <20><> <20><>: RTC<54><43><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><DDBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC<54><43>ʼ<EFBFBD><CABC>
|
|
|
|
|
205 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
206 * <20><> <20><>: <20><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EEP<45><50>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTCʱ<43><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD>һ<EFBFBD>γ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>EEPû<50>б<EFBFBD><D0B1>棬<EFBFBD><E6A3AC>Ĭ<EFBFBD>ϳ<EFBFBD>ʼ<EFBFBD><CABC>ʱ<EFBFBD>䣺20<32><30>5<EFBFBD><35>1<EFBFBD>
|
|
|
|
|
-<2D>12<31><32>
|
|
|
|
|
207 *************************************************************************************************/
|
|
|
|
|
208 BOOL RTCInitTime(RTC_VAR xdata *RtcInitVal)
|
|
|
|
|
209 {
|
|
|
|
|
210 1 BOOL Result = 0;
|
|
|
|
|
211 1 U8 xdata rtcbuf[9];
|
|
|
|
|
212 1 U8 xdata i;
|
|
|
|
|
213 1 U8 xdata checksum = 0;
|
|
|
|
|
214 1
|
|
|
|
|
215 1 MemorySet(rtcbuf, 0, sizeof(rtcbuf));
|
|
|
|
|
216 1
|
|
|
|
|
217 1 E2PRomRead(E2PROM_RTC_ADDR, 9, rtcbuf); //<2F><>E2<45><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RTC<54><43><EFBFBD><EFBFBD>
|
|
|
|
|
218 1 for(i=0; i<7; i++)
|
|
|
|
|
219 1 {
|
|
|
|
|
220 2 checksum += rtcbuf[i];
|
|
|
|
|
221 2 }
|
|
|
|
|
222 1
|
|
|
|
|
223 1 if((rtcbuf[7]!=checksum) || (rtcbuf[8]!=0x5a)) //<2F><>У<EFBFBD><D0A3>ʧ<EFBFBD>ܣ<EFBFBD>˵<EFBFBD><CBB5>E2<45><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䲻<EFBFBD>ɿ<EFBFBD><C9BF><EFBFBD>ֱ<EFBFBD>Ӱѳ
|
|
|
|
|
-<2D><><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
224 1 {
|
|
|
|
|
225 2 rtcbuf[0] = 0x00; //second
|
|
|
|
|
226 2 rtcbuf[1] = 0x00; //minute
|
|
|
|
|
227 2 rtcbuf[2] = 0x12; //hour
|
|
|
|
|
228 2 rtcbuf[3] = 0x01; //date
|
|
|
|
|
229 2 rtcbuf[4] = 0x05; //month
|
|
|
|
|
230 2 rtcbuf[5] = 0x20; //year
|
|
|
|
|
231 2 rtcbuf[6] = 0x05; //week
|
|
|
|
|
232 2 }
|
|
|
|
|
233 1
|
|
|
|
|
234 1 MemoryCopy(rtcbuf, (U8 xdata *)RtcInitVal, 7); //<2F><>E2<45><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ȷŵ<C8B7>RTCʱ<43><CAB1><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
2025-02-07 03:00:30 +00:00
|
|
|
|
C51 COMPILER V9.01 RTC 02/07/2025 10:36:15 PAGE 5
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
-<2D>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
235 1 Result = RTCReadTime((RTC_VAR xdata *)RtcInitVal);
|
|
|
|
|
236 1
|
|
|
|
|
237 1 return Result;
|
|
|
|
|
238 1 }
|
|
|
|
|
239
|
|
|
|
|
240
|
|
|
|
|
241
|
|
|
|
|
242
|
|
|
|
|
243
|
|
|
|
|
244
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|
|
|
|
CODE SIZE = 958 ----
|
|
|
|
|
CONSTANT SIZE = ---- ----
|
|
|
|
|
XDATA SIZE = 8 43
|
|
|
|
|
PDATA SIZE = ---- ----
|
|
|
|
|
DATA SIZE = ---- ----
|
|
|
|
|
IDATA SIZE = ---- ----
|
|
|
|
|
BIT SIZE = 2 5
|
|
|
|
|
END OF MODULE INFORMATION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|