📄 init_sys.lst
字号:
Read_BaoJingJiLu_To_CpuRam() ;
#endif
388 2
389 2 }
390 1 if(Is_Para_all_True_OK()==0) //读出数据不对时,重复
391 1 goto Looppp0;
392 1 MoveByte((uchar *)&Para_all_True_Bak, (uchar *)&Para_all_True, sizeof(Para_all_True));
393 1 Para_all_True_Bak.Change_Flag=0;
394 1 Add_CSSUM();
395 1
396 1 }
397
398
399
400
401
402 /**********************************************************************
403 **函数原型: void Rf_2262()
404 **入口参数:
405 **出口参数: 无
406 **返 回 值: 无
407 **说 明: Rf2262子程序INIT
408 ************************************************************************/
409 // 250us
410
411 uchar RF_sta=0;
412 uchar Low_Cnt=0;
413 uchar High_Cnt=0;
414 uchar WeiShu=0;
415
416 uint Hlcnt=0;
417 uint Hlcntshu[26],jji,mmkh;
418
419 #define LOWV 1
420 #define HIGHV 3
421
422 uchar ppp2;
423
C51 COMPILER V7.50 INIT_SYS 06/10/2007 23:11:21 PAGE 8
424 uchar hhh[40],loww[40],ill;
425 void Rf_2262() {
426 1
427 1 switch(RF_sta) {
428 2 case 0:
429 2 WeiShu=0; //接收到的位数复位
430 2 ppp2=P2;
431 2 if(RF315_in_P==0) {
432 3 RF_sta=1;
433 3 High_Cnt=1;
434 3 }
435 2 break;
436 2
437 2
438 2 case 1: //检测高电平
439 2 if(RF315_in_P==0) { // if high
440 3
441 3 High_Cnt++;
442 3
443 3
444 3 }
445 2 else {
446 3 RF_sta=2;
447 3 Low_Cnt=1;
448 3 }
449 2 break;
450 2 case 2: //检测低电平
451 2 if(RF315_in_P==1) { //if di
452 3
453 3 Low_Cnt++;
454 3 if( Low_Cnt>25) {
455 4 EA=0;
456 4 Hlcnt=0;
457 4 while(RF315_in_P==1) { //di
458 5 if(++Hlcnt>880)
- {
459 6 EA=1; RF_sta=0;
460 6 return;
461 6
462 6 }
463 5 jji=10;
464 5
465 5 }
466 4
467 4 mmkh=Hlcnt;
468 4 jji=0;
469 4 while(1) {
470 5 Hlcnt=0;
471 5 while(RF315_in_P==0) { //gao
472 6 if(++Hlcnt>600
-0) {
473 7 EA=1; RF_sta=0;
474 7 return;
475 7
476 7 }
477 6
478 6 }
479 5 Hlcntshu[jji++]= Hlcnt;
480 5 if((Hlcnt>300&&Hlcnt<410)||Hlcnt<60||Hlcnt>690){
481 6 EA=1; RF_sta=0;
482 6 return;
483 6 }
C51 COMPILER V7.50 INIT_SYS 06/10/2007 23:11:21 PAGE 9
484 5
485 5
486 5
487 5 Hlcnt=0;
488 5 while(RF315_in_P==1) { //di
489 6 if(++Hlcnt>600
-0) {
490 7 EA=1; RF_sta=0;
491 7 return;
492 7
493 7 }
494 6
495 6 }
496 5 Hlcntshu[jji++]= Hlcnt;
497 5 if((Hlcnt>300&&Hlcnt<410)||Hlcnt<60||Hlcnt>690){
498 6 EA=1; RF_sta=0;
499 6 return;
500 6 }
501 5
502 5
503 5 if(jji>=24) {
504 6 for(jji=0;jji<24;jji++) {
505 7 XinRf315_Value[0]<<=1;
506 7 if( Hlcntshu[jji]<300) {
507 8 XinRf315_Value[0]|=1;
508 8
509 8 }
510 7 else {
511 8 XinRf315_Value[0]&=( (unsigned long)(~1) );
512 8
513 8 }
514 7 }
515 6
516 6 if(XinRf315_B==0) {
517 7 XinRf315_B=1;
518 7 RF_sta=0;
519 7 XinRf315_Value[1]=XinRf315_Value[0];
520 7 }
521 6 jji=1;
522 6 break;
523 6 }
524 5 }
525 4 }
526 3 EA=1;
527 3
528 3 }
529 2 else {
530 3 RF_sta=0;
531 3
532 3 }
533 2 break;
534 2
535 2 default:
536 2 RF_sta=0;
537 2 break;
538 2
539 2 }
540 1
541 1
542 1 }
543
544
C51 COMPILER V7.50 INIT_SYS 06/10/2007 23:11:21 PAGE 10
545 /*
546 {
547
548 switch(RF_sta) {
549 case 0:
550 WeiShu=0; //接收到的位数复位
551 ppp2=P2;
552 if(RF315_in_P==0) {
553 RF_sta=1;
554 High_Cnt=1;
555 }
556 break;
557
558
559 case 1: //检测高电平
560 if(RF315_in_P==0) { // if high
561
562 High_Cnt++;
563
564
565 }
566 else {
567 RF_sta=2;
568 Low_Cnt=1;
569 }
570 break;
571 case 2: //检测低电平
572 if(RF315_in_P==1) { //if di
573
574 Low_Cnt++;
575
576 if(WeiShu>=24) {
577 if( High_Cnt==LOWV&&Low_Cnt>=(8*LOWV) ) {
578 // if( High_Cnt==LOWV&&High_Cnt==(LOWV-1)&&Low_Cnt>=(8*LOWV) ) {
579 //在这里接收到一帧数据
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -