📄 crc.lst
字号:
234 7 valid_data_num=0;
235 7 }
236 6 }
237 5 }else{
238 5 if(transparence_valid==1&&REVSTATUS==0){
239 6 transparence_valid=0;
240 6 transparence=0;
C51 COMPILER V6.02 CRC 08/02/2006 14:44:15 PAGE 5
241 6 valid_data=0;
242 6 valid_data_num=0;
- }
243 5 }
244 4
245 4 break;
246 4 case 3:check_transparence();
247 4 if(transparence_valid==0){
248 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
249 5 if(++valid_data_num==8){
250 6 if(valid_data==0xcc/*cc*/){
251 7 //transparence=0;
252 7 REVSTATUS=4;
253 7 valid_data=0;
254 7 valid_data_num=0;
255 7 checkdata[2]=0xcc/*cc*/;
256 7 }else{
257 7 transparence=0;
258 7 REVSTATUS=0;
259 7 valid_data=0;
260 7 valid_data_num=0;
261 7 }
262 6 }
263 5 }else{
264 5 if(transparence_valid==1&&REVSTATUS==0){
265 6 transparence_valid=0;
266 6 transparence=0;
267 6 valid_data=0;
268 6 valid_data_num=0;
269 6 }
270 5 }
271 4 break;
272 4 case 4:check_transparence();
273 4 if(transparence_valid==0){
274 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
275 5 if(++valid_data_num==8){
276 6 if(valid_data==0xc1){
277 7 //transparence=0;
278 7 REVSTATUS=5;
279 7 valid_data=0;
280 7 valid_data_num=0;
281 7 checkdata[3]=0xc1;
282 7 }else{
283 7 transparence=0;
284 7 REVSTATUS=0;
285 7 valid_data=4;
286 7 valid_data_num=0;
287 7 }
288 6 }
289 5 }else{
290 5 if(transparence_valid==1&&REVSTATUS==0){
291 6 transparence_valid=0;
292 6 transparence=0;
293 6 valid_data=0;
294 6 valid_data_num=0;
295 6 }
296 5 }
297 4 break;
298 4 case 5:check_transparence();
299 4 if(transparence_valid==0){
300 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
301 5 if(++valid_data_num==8){
C51 COMPILER V6.02 CRC 08/02/2006 14:44:15 PAGE 6
302 6 checkdata[data_num]=valid_data;
303 6 data_num++;
304 6 REVSTATUS=6;
305 6 // transparence=0;
306 6 valid_data=0;
307 6 valid_data_num=0;
308 6 }
309 5 }else{
310 5 if(transparence_valid==1&&REVSTATUS==0){
311 6 transparence_valid=0;
312 6 transparence=0;
313 6 valid_data=0;
314 6 valid_data_num=0;
315 6 }
316 5 }
317 4 break;
318 4 case 6:check_transparence();
319 4 if(transparence_valid==0){
320 5 valid_data=valid_data+(testbit<<(7-valid_data_num));
321 5 if(++valid_data_num==8){
322 6 checkdata[data_num]=valid_data;
323 6 data_num++;
324 6 REVSTATUS=6;
325 6 //transparence=0;
326 6 valid_data=0;
327 6 valid_data_num=0;
328 6 }
329 5 }else if(transparence_valid==1 && transparence==0 && REVSTATU
-S!=0){
330 5 transparence_valid=0;
331 5 break;
332 5 }else{{
333 6 if(transparence_valid==1&&REVSTATUS==0){
334 7 transparence_valid=0;
335 7 transparence=0;
336 7 valid_data=0;
337 7 p=&checkdata[0];
338 7 check_write=cal_crc(p,(data_num-2));
339 7 check_temp=(checkdata[data_num-2]<<8)+checkdata[da
-ta_num-1];
340 7 data_num=4;
341 7 if(check_write==check_temp){ //CRC校验相等
342 8 // EA=0;
343 8 receive_flag=checkdata[4];
344 8 com_receive_deal(); //head=0;
345 8 valid_data_num=0;
346 8 // EA=1;
347 8 }
348 7
349 7 }
350 6 }
351 5
352 5 break; }
353 4 break;
354 4 default:break;
355 4 }
356 3 }
357 2 if(++tail>300)tail=0;
358 2 //if(head==0)tail=0;
359 2 }
360 1 }
361 void comm() interrupt 4 using 2
C51 COMPILER V6.02 CRC 08/02/2006 14:44:15 PAGE 7
362 {
363 1 if(RI==1){
364 2 RX_BUF[head]=SBUF;
365 2 if(++head>300)head=0;
366 2 RI=0;
367 2 }
368 1
369 1 }
C51 COMPILER V6.02 CRC 08/02/2006 14:44:15 PAGE 8
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
com_receive_deal . . . . . . . . . . . EXTERN CODE PROC ----- -----
transparence_valid . . . . . . . . . . PUBLIC XDATA U_INT 0000H 2
testbit. . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0002H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
transparence . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0003H 1
valid_data . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0004H 1
check_write. . . . . . . . . . . . . . PUBLIC XDATA U_INT 0005H 2
head . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0007H 2
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
check_temp . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0009H 2
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
checkdata. . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 000BH 512
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
_cal_crc . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
ptr. . . . . . . . . . . . . . . . . AUTO XDATA PTR 0000H 3
len. . . . . . . . . . . . . . . . . AUTO XDATA U_INT 0003H 2
i. . . . . . . . . . . . . . . . . . AUTO XDATA U_CHAR 0005H 1
crc. . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
tail . . . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 020BH 2
comm . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
h_address. . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
watch_dog. . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
l_address. . . . . . . . . . . . . . . EXTERN XDATA U_CHAR ----- 1
checktemp. . . . . . . . . . . . . . . PUBLIC XDATA U_INT 020DH 2
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
crc_main . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO XDATA U_CHAR 0000H 1
p. . . . . . . . . . . . . . . . . . * REG * DATA PTR 0001H 3
valid_data_num . . . . . . . . . . . . PUBLIC XDATA U_CHAR 020FH 1
beginbit . . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0210H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
data_num . . . . . . . . . . . . . . . PUBLIC XDATA U_INT 0211H 2
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
C51 COMPILER V6.02 CRC 08/02/2006 14:44:15 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
REVSTATUS. . . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0213H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
receive_flag . . . . . . . . . . . . . PUBLIC XDATA U_CHAR 0214H 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
RX_BUF . . . . . . . . . . . . . . . . PUBLIC XDATA ARRAY 0215H 512
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
check_frame. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
check_transparence . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1948 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 1045 7
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -