📄 zlg500c.lst
字号:
526 1 memcopy(&SerBfr[DATA+1],PiccSnr,4);
527 1
528 1 Status = Zlg500c_Cmd(SlvAddr);
529 1
530 1 if(Status == OK)
531 1 {
532 2 Status = SerBfr[STATUS];
533 2 if(Status == OK)
534 2 {
535 3 *Sak = SerBfr[DATA];
536 3 }
537 2 }
538 1 return Status;
539 1 }
540 #endif
541
542 #if PiccHalt_en
543 INT8U PiccHalt()
544 {
545 1 INT8U Status;
546 1
547 1 SerBfr[CMDTYPE] = 2;
548 1 SerBfr[COMMAND] = 'D';
549 1 SerBfr[LENGTH] = 0;
550 1
551 1 Status = Zlg500c_Cmd(SlvAddr);
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 10
552 1
553 1 if(Status == OK)
554 1 {
555 2 Status = SerBfr[STATUS];
556 2 }
557 1 return Status;
558 1 }
559 #endif
560
561 #if PiccAuthE2_en
562 INT8U PiccAuthE2(INT8U KeyAB,INT8U *PiccSnr,INT8U SecNr,INT8U Block)
563 {
564 1 INT8U Status;
565 1
566 1 SerBfr[CMDTYPE] = 2;
567 1 SerBfr[COMMAND] = 'E';
568 1 SerBfr[LENGTH] = 7;
569 1 SerBfr[DATA] = KeyAB;
570 1 memcopy(&SerBfr[DATA+1],PiccSnr,4);
571 1 SerBfr[DATA+5] = SecNr;
572 1 SerBfr[DATA+6] = Block;
573 1
574 1 Status = Zlg500c_Cmd(SlvAddr);
575 1
576 1 if(Status == OK)
577 1 {
578 2 Status = SerBfr[STATUS];
579 2 }
580 1 return Status;
581 1 }
582 #endif
583
584 #if PiccAuthKey_en
INT8U PiccAuthKey(INT8U KeyAB,INT8U *PiccSnr,INT8U *Key,INT8U Block)
{
INT8U Status;
SerBfr[CMDTYPE] = 2;
SerBfr[COMMAND] = 'F';
SerBfr[LENGTH] = 12;
SerBfr[DATA] = KeyAB;
memcopy(&SerBfr[DATA+1],PiccSnr,4);
memcopy(&SerBfr[DATA+5],Key,4);
SerBfr[DATA+11] = Block;
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
}
return Status;
}
#endif
606
607 #if PiccRead_en
608 INT8U PiccRead(INT8U Block,INT8U *Bfr)
609 {
610 1 INT8U Status;
611 1
612 1 SerBfr[CMDTYPE] = 2;
613 1 SerBfr[COMMAND] = 'G';
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 11
614 1 SerBfr[LENGTH] = 1;
615 1 SerBfr[DATA] = Block;
616 1
617 1 Status = Zlg500c_Cmd(SlvAddr);
618 1
619 1 if(Status == OK)
620 1 {
621 2 Status = SerBfr[STATUS];
622 2 if(Status == OK)
623 2 {
624 3 memcopy(Bfr,&SerBfr[DATA],16);
625 3 }
626 2 }
627 1 return Status;
628 1 }
629 #endif
630
631 #if PiccWrite_en
632 INT8U PiccWrite(INT8U Block,INT8U *Bfr)
633 {
634 1 INT8U Status;
635 1
636 1 SerBfr[CMDTYPE] = 2;
637 1 SerBfr[COMMAND] = 'H';
638 1 SerBfr[LENGTH] = 17;
639 1 SerBfr[DATA] = Block;
640 1 memcopy(&SerBfr[DATA+1],Bfr,16);
641 1
642 1 Status = Zlg500c_Cmd(SlvAddr);
643 1
644 1 if(Status == OK)
645 1 {
646 2 Status = SerBfr[STATUS];
647 2 }
648 1 return Status;
649 1 }
650 #endif
651
652 #if PiccULWrite_en
INT8U PiccULWrite(INT8U Block,INT8U *Bfr)
{
INT8U Status;
SerBfr[CMDTYPE] = 2;
SerBfr[COMMAND] = 'I';
SerBfr[LENGTH] = 5;
SerBfr[DATA] = Block;
memcopy(&SerBfr[DATA+1],Bfr,16);
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
}
return Status;
}
#endif
672
673 #if PiccValue_en
674 INT8U PiccValue(INT8U Mode,INT8U Block,INT8U *Value,INT8U TransBlock)
675 {
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 12
676 1 INT8U Status;
677 1
678 1 SerBfr[CMDTYPE] = 2;
679 1 SerBfr[COMMAND] = 'J';
680 1 SerBfr[LENGTH] = 7;
681 1 SerBfr[DATA] = Mode;
682 1 SerBfr[DATA+1] = Block;
683 1 memcopy(&SerBfr[DATA+2],Value,4);
684 1 SerBfr[DATA+6] = TransBlock;
685 1
686 1 Status = Zlg500c_Cmd(SlvAddr);
687 1
688 1 if(Status == OK)
689 1 {
690 2 Status = SerBfr[STATUS];
691 2 }
692 1 return Status;
693 1 }
694 #endif
695
696 #if PiccValueDebit_en
INT8U PiccValueDebit(INT8U Mode,INT8U Block,INT8U *Value)
{
INT8U Status;
SerBfr[CMDTYPE] = 2;
SerBfr[COMMAND] = 'K';
SerBfr[LENGTH] = 6;
SerBfr[DATA] = Mode;
SerBfr[DATA+1] = Block;
memcopy(&SerBfr[DATA+2],Value,4);
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
}
return Status;
}
#endif
717
718 #if PiccReset_en
INT8U PiccReset(INT8U _1ms)
{
INT8U Status;
SerBfr[CMDTYPE] = 2;
SerBfr[COMMAND] = 'L';
SerBfr[LENGTH] = 1;
SerBfr[DATA] = _1ms;
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
}
return Status;
}
#endif
737
C51 COMPILER V8.02 ZLG500C 04/18/2008 09:54:32 PAGE 13
738 #if PiccActiveTypeA_en
INT8U PiccActiveTypeA( INT8U BaudRate,
INT8U Req_Code,
INT8U *Atq,
INT8U *Ats,
INT8U *PiccSnrLen,
INT8U *PiccSnr )
{
INT8U Status;
SerBfr[CMDTYPE] = 2;
SerBfr[COMMAND] = 'M';
SerBfr[LENGTH] = 2;
SerBfr[DATA] = BaudRate;
SerBfr[DATA+1] = Req_Code;
Status = Zlg500c_Cmd(SlvAddr);
if(Status == OK)
{
Status = SerBfr[STATUS];
if(Status == OK)
{
*Atq = SerBfr[DATA];
*(Atq+1) = SerBfr[DATA+1];
*Ats = SerBfr[DATA+2];
*PiccSnrLen = SerBfr[DATA+3];
memcopy(PiccSnr,&SerBfr[DATA+4],*PiccSnrLen);
}
}
return Status;
}
#endif
771
772
773
774
775
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1189 ----
CONSTANT SIZE = 9 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 85
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 + -