⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zlg500s.lst

📁 内部包含多个文件:main.c,config.c,zlg500s.h zlg500s.c等。对于zlg500s开发板的使用
💻 LST
📖 第 1 页 / 共 2 页
字号:
 274   1              SerBfr[DATA+6] = Block; 
 275   1      
 276   1              Status = Zlg500S_Cmd();
 277   1              
 278   1              if(Status == OK)
 279   1              {
 280   2                      Status = SerBfr[STATUS];
 281   2              }
 282   1              return Status;
 283   1      }
 284          #endif
 285          
 286          #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 = Zlg500S_Cmd();
                      
                      if(Status == OK)
                      {
                              Status = SerBfr[STATUS];
C51 COMPILER V7.50   ZLG500S                                                               05/17/2008 12:45:00 PAGE 6   

                      }
                      return Status;
              }
              #endif
 308          
 309          #if PiccRead_en
 310          INT8U PiccRead(INT8U Block,INT8U *Bfr)
 311          {
 312   1              INT8U Status;
 313   1              
 314   1              SerBfr[CMDTYPE] = 2;
 315   1              SerBfr[COMMAND] = 'G';
 316   1              SerBfr[LENGTH] = 1;
 317   1              SerBfr[DATA] = Block;
 318   1                      
 319   1              Status = Zlg500S_Cmd();
 320   1              
 321   1              if(Status == OK)
 322   1              {
 323   2                      Status = SerBfr[STATUS];
 324   2                      if(Status == OK)
 325   2                      {
 326   3                              memcopy(Bfr,&SerBfr[DATA],16);
 327   3                      }
 328   2              }
 329   1              return Status;
 330   1      }
 331          #endif
 332          
 333          #if PiccWrite_en
 334          INT8U PiccWrite(INT8U Block,INT8U *Bfr)
 335          {
 336   1              INT8U Status;
 337   1              
 338   1              SerBfr[CMDTYPE] = 2;
 339   1              SerBfr[COMMAND] = 'H';
 340   1              SerBfr[LENGTH] = 17;
 341   1              SerBfr[DATA] = Block;
 342   1              memcopy(&SerBfr[DATA+1],Bfr,16);
 343   1                      
 344   1              Status = Zlg500S_Cmd();
 345   1              
 346   1              if(Status == OK)
 347   1              {
 348   2                      Status = SerBfr[STATUS];
 349   2              }
 350   1              return Status;
 351   1      }
 352          #endif
 353          
 354          #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 = Zlg500S_Cmd();
C51 COMPILER V7.50   ZLG500S                                                               05/17/2008 12:45:00 PAGE 7   

                      
                      if(Status == OK)
                      {
                              Status = SerBfr[STATUS];
                      }
                      return Status;
              }
              #endif
 374          
 375          #if PiccValue_en
 376          INT8U PiccValue(INT8U Mode,INT8U Block,INT8U *Value,INT8U TransBlock)
 377          {
 378   1              INT8U Status;
 379   1              
 380   1              SerBfr[CMDTYPE] = 2;
 381   1              SerBfr[COMMAND] = 'J';
 382   1              SerBfr[LENGTH] = 7;
 383   1              SerBfr[DATA] = Mode;
 384   1              SerBfr[DATA+1] = Block;
 385   1              memcopy(&SerBfr[DATA+2],Value,4);
 386   1              SerBfr[DATA+6] = TransBlock;
 387   1                      
 388   1              Status = Zlg500S_Cmd();
 389   1              
 390   1              if(Status == OK)
 391   1              {
 392   2                      Status = SerBfr[STATUS];
 393   2              }
 394   1              return Status;
 395   1      }
 396          #endif
 397          
 398          #if PiccReset_en
              INT8U PiccReset(INT8U _1ms)
              {
                      INT8U Status;
                      
                      SerBfr[CMDTYPE] = 2;
                      SerBfr[COMMAND] = 'L';
                      SerBfr[LENGTH] = 1;
                      SerBfr[DATA] = _1ms;
                                      
                      Status = Zlg500S_Cmd();
                      
                      if(Status == OK)
                      {
                              Status = SerBfr[STATUS];
                      }
                      return Status;
              }
              #endif
 417          
 418          #if PiccActiveTypeA_en
              INT8U PiccActiveTypeA(  INT8U BaudRate,
                                                              INT8U Req_Code,
                                                              INT8U *Atq,
                                                              INT8U *Ats,
                                                              INT8U *PiccSnrLen,
                                                              INT8U *PiccSnr  )
              {
                      INT8U Status;
                      
C51 COMPILER V7.50   ZLG500S                                                               05/17/2008 12:45:00 PAGE 8   

                      SerBfr[CMDTYPE] = 2;
                      SerBfr[COMMAND] = 'M';
                      SerBfr[LENGTH] = 2;
                      SerBfr[DATA] = BaudRate;
                      SerBfr[DATA+1] = Req_Code;
                              
                      Status = Zlg500S_Cmd();
                      
                      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
 451          
 452          #if PiccAutoDetect_en
 453          INT8U PiccAutoDetect(INT8U OutMode,  INT8U TxMode, INT8U Req_Code, 
 454                                                   INT8U AuthMode, INT8U KEYAB,  INT8U *Key, INT8U Block)
 455          {
 456   1              INT8U Status;
 457   1              
 458   1              SerBfr[CMDTYPE] = 2;
 459   1              SerBfr[COMMAND] = 'N';
 460   1      
 461   1              if(AuthMode == 0)
 462   1                      SerBfr[LENGTH] = 4;
 463   1              else
 464   1              {       SerBfr[DATA+4] = KEYAB;
 465   2                      if(AuthMode == 'E')
 466   2                      {
 467   3                              SerBfr[DATA+5] = *Key;
 468   3                              SerBfr[DATA+6] = Block;
 469   3                              SerBfr[LENGTH] = 7;
 470   3                      }
 471   2                      else if(AuthMode == 'F')
 472   2                      {
 473   3                              memcopy(&SerBfr[DATA+5],Key,6);
 474   3                              SerBfr[DATA+11] = Block;
 475   3                              SerBfr[LENGTH] = 12;
 476   3                      }
 477   2                      else
 478   2                              return COMMERR;
 479   2              }
 480   1      
 481   1              SerBfr[DATA] = OutMode;
 482   1              SerBfr[DATA+1] = TxMode;
 483   1              SerBfr[DATA+2] = Req_Code;
 484   1              SerBfr[DATA+3] = AuthMode;
 485   1              
 486   1              Status = Zlg500S_Cmd();
 487   1              
 488   1              if(Status == OK)
 489   1              {
C51 COMPILER V7.50   ZLG500S                                                               05/17/2008 12:45:00 PAGE 9   

 490   2                      Status = SerBfr[STATUS];
 491   2              }
 492   1              return Status;
 493   1      }
 494          #endif
 495          
 496          #if PiccADRcv_en
 497          /***********************************************************************************
 498          模块产生中断后,直接读取数据
 499          输入:  无
 500          输出:  TxDrv——TX驱动,0x01——仅TX1,0x02——仅TX2,0x03——TX1、TX2全驱动
 501                          TagType——目标类型,同PiccRequest函数
 502                          Sak——选择应答,同PiccSelect函数
 503                          Snr——序列号,,同PiccSelect函数
 504                          DTBfr——块数据首址
 505          返回:  0——成功,其它值——失败
 506          ***********************************************************************************/
 507          INT8U PiccADRcv(INT8U *TxDrv,INT8U *TagType,INT8U *Sak,INT8U *Snr,INT8U *DTBfr)
 508          {
 509   1              INT8U Status = 0xff;
 510   1      
 511   1              if(Ser_Rcv())
 512   1              {       
 513   2                      if(SEQ == (SerBfr[CMDTYPE]&0xf0))
 514   2                      {                               //包号匹配
 515   3                              Status = OK;
 516   3                      }
 517   2                      else
 518   2                              Status = SEQERR;        //包号不匹配
 519   2      
 520   2                      if(Status == OK)
 521   2                      {
 522   3                              Status = SerBfr[STATUS];
 523   3                              if(Status == OK)
 524   3                              {
 525   4                                      *TxDrv = SerBfr[DATA];
 526   4                                      TagType[0] = SerBfr[DATA+1];
 527   4                                      TagType[1] = SerBfr[DATA+2];
 528   4                                      *Sak = SerBfr[DATA+3];
 529   4                                      memcopy(Snr,&SerBfr[DATA+5],SerBfr[DATA+4]);
 530   4                                      if(DTBfr != 0)
 531   4                                              memcopy(DTBfr,&SerBfr[DATA+5+SerBfr[DATA+4]],16);
 532   4                              }
 533   3                      }
 534   2              }
 535   1              return Status;
 536   1      }
 537          #endif
 538          
 539          #if PiccReadADDT_en
 540          /***********************************************************************************
 541          发送读自动检测命令
 542          输入:  Mode:0x00——停止检测,0x01——继续检测
 543          输出:  TxDrv——TX驱动,0x01——仅TX1,0x02——仅TX2,0x03——TX1、TX2全驱动
 544                          TagType——目标类型,同PiccRequest函数
 545                          Sak——选择应答,同PiccSelect函数
 546                          Snr——序列号,,同PiccSelect函数
 547                          DTBfr——块数据首址
 548          返回:  0——成功,
 549                          -1——未检测到卡
 550                          -100——未进入自动检测
 551                          其它值——失败
C51 COMPILER V7.50   ZLG500S                                                               05/17/2008 12:45:00 PAGE 10  

 552          ***********************************************************************************/
 553          INT8U PiccReadADDT(INT8U Mode,INT8U *TxDrv,INT8U *TagType,INT8U *Sak,INT8U *Snr,INT8U *DTBfr)   //若DTBfr为

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -