2025-02-22 08:59:29 +00:00
|
|
|
|
C51 COMPILER V9.01 PORSELFTEST 02/22/2025 15:36:22 PAGE 1
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILER V9.01, COMPILATION OF MODULE PORSELFTEST
|
|
|
|
|
OBJECT MODULE PLACED IN .\output\PorSelfTest.obj
|
|
|
|
|
COMPILER INVOKED BY: D:\Tool\Keil\C51\BIN\C51.EXE code_drv\PorSelfTest.c LARGE OPTIMIZE(7,SIZE) REGFILE(.\output\MCUCore
|
|
|
|
|
-_Load.ORC) BROWSE INTVECTOR(0X1000) INCDIR(.\header_app;.\header_drv;.\code_gasguage;.\code_classb\iec60730_lib\include;
|
|
|
|
|
-.\code_classb\iec60730_proc\Include;.\code_classb\config) DEBUG OBJECTEXTEND PRINT(.\output\PorSelfTest.lst) OBJECT(.\ou
|
|
|
|
|
-tput\PorSelfTest.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 BOOL bPorSelfTestFlg;
|
|
|
|
|
12 U8 ucPorSelfTestDelayCnt;
|
|
|
|
|
13
|
|
|
|
|
14 /*************************************************************************************************
|
|
|
|
|
15 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectOV
|
|
|
|
|
16 * <20><> <20><>: <20><>
|
|
|
|
|
17 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
18 * <20><> <20><>: <20><><EFBFBD>ڵ<EFBFBD><DAB5>ع<EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>λbOVΪ1
|
|
|
|
|
19 *************************************************************************************************/
|
|
|
|
|
20 void PorProtectOV(void)
|
|
|
|
|
21 {
|
|
|
|
|
22 1 if(!bOV)
|
|
|
|
|
23 1 {
|
|
|
|
|
24 2 if(uiCellVmax > E2uiOVvol)
|
|
|
|
|
25 2 {
|
|
|
|
|
26 3 if(++uiOVDelayCnt >= TIME_50mS_50mS)
|
|
|
|
|
27 3 {
|
|
|
|
|
28 4 bOV = 1;
|
|
|
|
|
29 4 uiOVDelayCnt = 0;
|
|
|
|
|
30 4 }
|
|
|
|
|
31 3 }
|
|
|
|
|
32 2 else if(uiCellVmax < E2uiOVRvol)
|
|
|
|
|
33 2 {
|
|
|
|
|
34 3 uiOVDelayCnt = 0;
|
|
|
|
|
35 3 }
|
|
|
|
|
36 2 }
|
|
|
|
|
37 1 }
|
|
|
|
|
38
|
|
|
|
|
39
|
|
|
|
|
40 /*************************************************************************************************
|
|
|
|
|
41 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectUV
|
|
|
|
|
42 * <20><> <20><>: <20><>
|
|
|
|
|
43 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
44 * <20><> <20><>: <20><><EFBFBD>ڵ<EFBFBD>оǷѹ<C7B7><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbUVΪ1
|
|
|
|
|
45 *************************************************************************************************/
|
|
|
|
|
46 void PorProtectUV(void)
|
|
|
|
|
47 {
|
|
|
|
|
48 1 if(!bUV)
|
|
|
|
|
49 1 {
|
|
|
|
|
50 2 if(uiCellVmin < E2uiUVvol)
|
|
|
|
|
51 2 {
|
|
|
|
|
52 3 if(++uiUVDelayCnt >= TIME_50mS_50mS)
|
2025-02-22 08:59:29 +00:00
|
|
|
|
C51 COMPILER V9.01 PORSELFTEST 02/22/2025 15:36:22 PAGE 2
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
53 3 {
|
|
|
|
|
54 4 bUV = 1;
|
|
|
|
|
55 4 uiUVDelayCnt = 0;
|
|
|
|
|
56 4 }
|
|
|
|
|
57 3 }
|
|
|
|
|
58 2 else if(uiCellVmin > E2uiUVRvol)
|
|
|
|
|
59 2 {
|
|
|
|
|
60 3 uiUVDelayCnt = 0;
|
|
|
|
|
61 3 }
|
|
|
|
|
62 2 }
|
|
|
|
|
63 1 }
|
|
|
|
|
64
|
|
|
|
|
65
|
|
|
|
|
66 /*************************************************************************************************
|
|
|
|
|
67 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectOTC
|
|
|
|
|
68 * <20><> <20><>: <20><>
|
|
|
|
|
69 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
70 * <20><> <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbOTCΪ1
|
|
|
|
|
71 *************************************************************************************************/
|
|
|
|
|
72 void PorProtectOTC(void)
|
|
|
|
|
73 {
|
|
|
|
|
74 1 if(!bOTC)
|
|
|
|
|
75 1 {
|
|
|
|
|
76 2 if(uiTempeMax > E2uiTempOTC)
|
|
|
|
|
77 2 {
|
|
|
|
|
78 3 if(++uiOTCDelayCnt >= TIME_50mS_50mS)
|
|
|
|
|
79 3 {
|
|
|
|
|
80 4 bOTC = 1;
|
|
|
|
|
81 4 uiOTCDelayCnt = 0;
|
|
|
|
|
82 4 }
|
|
|
|
|
83 3 }
|
|
|
|
|
84 2 else if(uiTempeMax < E2uiTempOTCR)
|
|
|
|
|
85 2 {
|
|
|
|
|
86 3 uiOTCDelayCnt = 0;
|
|
|
|
|
87 3 }
|
|
|
|
|
88 2 }
|
|
|
|
|
89 1 }
|
|
|
|
|
90
|
|
|
|
|
91
|
|
|
|
|
92 /*************************************************************************************************
|
|
|
|
|
93 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectUTC
|
|
|
|
|
94 * <20><> <20><>: <20><>
|
|
|
|
|
95 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
96 * <20><> <20><>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbUTCΪ1
|
|
|
|
|
97 *************************************************************************************************/
|
|
|
|
|
98 void PorProtectUTC(void)
|
|
|
|
|
99 {
|
|
|
|
|
100 1 if(!bUTC)
|
|
|
|
|
101 1 {
|
|
|
|
|
102 2 if(uiTempeMin < E2uiTempUTC)
|
|
|
|
|
103 2 {
|
|
|
|
|
104 3 if(++uiUTCDelayCnt >= TIME_50mS_50mS)
|
|
|
|
|
105 3 {
|
|
|
|
|
106 4 bUTC = 1;
|
|
|
|
|
107 4 uiUTCDelayCnt = 0;
|
|
|
|
|
108 4 }
|
|
|
|
|
109 3 }
|
|
|
|
|
110 2 else if(uiTempeMin > E2uiTempUTCR)
|
|
|
|
|
111 2 {
|
|
|
|
|
112 3 uiUTCDelayCnt = 0;
|
|
|
|
|
113 3 }
|
|
|
|
|
114 2 }
|
2025-02-22 08:59:29 +00:00
|
|
|
|
C51 COMPILER V9.01 PORSELFTEST 02/22/2025 15:36:22 PAGE 3
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
115 1 }
|
|
|
|
|
116
|
|
|
|
|
117
|
|
|
|
|
118 /*************************************************************************************************
|
|
|
|
|
119 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectOTD
|
|
|
|
|
120 * <20><> <20><>: <20><>
|
|
|
|
|
121 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
122 * <20><> <20><>: <20>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbOTDΪ1
|
|
|
|
|
123 *************************************************************************************************/
|
|
|
|
|
124 void PorProtectOTD(void)
|
|
|
|
|
125 {
|
|
|
|
|
126 1 if(!bOTD)
|
|
|
|
|
127 1 {
|
|
|
|
|
128 2 if(uiTempeMax > E2uiTempOTD)
|
|
|
|
|
129 2 {
|
|
|
|
|
130 3 if(++uiOTDDelayCnt >= TIME_50mS_50mS)
|
|
|
|
|
131 3 {
|
|
|
|
|
132 4 bOTD = 1;
|
|
|
|
|
133 4 uiOTDDelayCnt = 0;
|
|
|
|
|
134 4 }
|
|
|
|
|
135 3 }
|
|
|
|
|
136 2 else if(uiTempeMax < E2uiTempOTDR)
|
|
|
|
|
137 2 {
|
|
|
|
|
138 3 uiOTDDelayCnt = 0;
|
|
|
|
|
139 3 }
|
|
|
|
|
140 2 }
|
|
|
|
|
141 1 }
|
|
|
|
|
142
|
|
|
|
|
143
|
|
|
|
|
144 /*************************************************************************************************
|
|
|
|
|
145 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PorProtectUTD
|
|
|
|
|
146 * <20><> <20><>: <20><>
|
|
|
|
|
147 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
148 * <20><> <20><>: <20>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λbUTDΪ1
|
|
|
|
|
149 *************************************************************************************************/
|
|
|
|
|
150 void PorProtectUTD(void)
|
|
|
|
|
151 {
|
|
|
|
|
152 1 if(!bUTD)
|
|
|
|
|
153 1 {
|
|
|
|
|
154 2 if(uiTempeMin < E2uiTempUTD)
|
|
|
|
|
155 2 {
|
|
|
|
|
156 3 if(++uiUTDDelayCnt >= TIME_50mS_50mS)
|
|
|
|
|
157 3 {
|
|
|
|
|
158 4 bUTD = 1;
|
|
|
|
|
159 4 uiUTDDelayCnt = 0;
|
|
|
|
|
160 4 }
|
|
|
|
|
161 3 }
|
|
|
|
|
162 2 else if(uiTempeMin > E2uiTempUTDR)
|
|
|
|
|
163 2 {
|
|
|
|
|
164 3 uiUTDDelayCnt = 0;
|
|
|
|
|
165 3 }
|
|
|
|
|
166 2 }
|
|
|
|
|
167 1 }
|
|
|
|
|
168
|
|
|
|
|
169
|
|
|
|
|
170 /*************************************************************************************************
|
|
|
|
|
171 * <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ProtectProcess
|
|
|
|
|
172 * <20><> <20><>: <20><>
|
|
|
|
|
173 * <20><><EFBFBD><EFBFBD>ֵ: <20><>
|
|
|
|
|
174 * <20><> <20><>: <20><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>Լ죬<D4BC><ECA3AC><EFBFBD><EFBFBD>100mS<6D><53><EFBFBD>ϵ<EFBFBD><CFB5>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ϊ50mS
|
|
|
|
|
175 *************************************************************************************************/
|
|
|
|
|
176 void PorSelfTest(void)
|
2025-02-22 08:59:29 +00:00
|
|
|
|
C51 COMPILER V9.01 PORSELFTEST 02/22/2025 15:36:22 PAGE 4
|
2025-02-06 07:35:32 +00:00
|
|
|
|
|
|
|
|
|
177 {
|
|
|
|
|
178 1 if(bPorSelfTestFlg)
|
|
|
|
|
179 1 {
|
|
|
|
|
180 2 AfeCalcuVol(); //<2F><>һ<EFBFBD><D2BB><EFBFBD>ϵ<EFBFBD>50mS<6D><53><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ȡ<EFBFBD><C8A1>ѹ<EFBFBD><D1B9><EFBFBD>ݺ<EFBFBD><DDBA>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
181 2 AfeCalcuTempe();
|
|
|
|
|
182 2 PorProtectOV(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
183 2 PorProtectUV(); //<2F><><EFBFBD><EFBFBD>Ƿѹ<C7B7><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
184 2
|
|
|
|
|
185 2 PorProtectOTC(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
186 2 PorProtectUTC(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
187 2 PorProtectOTD(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
188 2 PorProtectUTD(); //<2F><><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD>
|
|
|
|
|
189 2
|
|
|
|
|
190 2 if(++ucPorSelfTestDelayCnt >= TIME_50mS_100mS) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD>TIME_50mS_100mS<6D><EFBFBD><DEB8>
|
|
|
|
|
-<2D>TIME_50mS_50mS
|
|
|
|
|
191 2 {
|
|
|
|
|
192 3 bPorSelfTestFlg = 0; //1S<31>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>ǰ״̬ȷ<CCAC><C8B7><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>PD<50><44><EFBFBD><EFBFBD><EFBFBD>Ƿ
|
|
|
|
|
-<2D>MOS
|
|
|
|
|
193 3 if(bAfeErr || bE2PRErr || bRTCErr || bMcuFlashErr)
|
|
|
|
|
194 3 {
|
|
|
|
|
195 4 bPDFlg = 1;
|
|
|
|
|
196 4 }
|
|
|
|
|
197 3 else
|
|
|
|
|
198 3 {
|
|
|
|
|
199 4 GasGaugeInit(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|
|
|
|
200 4 }
|
|
|
|
|
201 3 }
|
|
|
|
|
202 2 }
|
|
|
|
|
203 1 }
|
|
|
|
|
204
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MODULE INFORMATION: STATIC OVERLAYABLE
|
|
|
|
|
CODE SIZE = 519 ----
|
|
|
|
|
CONSTANT SIZE = ---- ----
|
|
|
|
|
XDATA SIZE = 1 ----
|
|
|
|
|
PDATA SIZE = ---- ----
|
|
|
|
|
DATA SIZE = ---- ----
|
|
|
|
|
IDATA SIZE = ---- ----
|
|
|
|
|
BIT SIZE = 1 ----
|
|
|
|
|
END OF MODULE INFORMATION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|