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

📄 system.lst

📁 mifarea卡程序mifarea卡程序mifarea卡程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
 294   1          switch(cmd[1])
 295   1          {
 296   2              case CMD_SETBAUD:
 297   2                  if(len != 4)
 298   2                  {
 299   3                      cmd[0] = ERRORCMDLEN;
 300   3                      return 1;
 301   3                  }
 302   2                  if((cmd[2] >= 6) || (cmd[3] >= 6))
C51 COMPILER V8.00   SYSTEM                                                                04/23/2009 15:56:17 PAGE 6   

 303   2                  {
 304   3                      cmd[0] = ERRORCMD;
 305   3                      return 1;
 306   3                  }
 307   2                  // cmd[3]: reserved for format
 308   2                  snr[0] = SUCCESS;
 309   2                  snr[1] = cmd[2];
 310   2                  snr[2] = cmd[3];
 311   2                  if(CommSend(snr, 3))
 312   2                  {
 313   3                      delay(50);
 314   3                      // if communicate success, change baudrate
 315   3                      ComOpen(SYSCLOCK, baud[cmd[2]]);
 316   3                  }
 317   2                  return 0;
 318   2                  
 319   2              case CMD_EJECTCARD:
 320   2                  if(len != 2)
 321   2                  {
 322   3                      cmd[0] = ERRORCMDLEN;
 323   3                      return 1;
 324   3                  }
 325   2                  if(IccUserEject())
 326   2                      cmd[0] = SUCCESS;
 327   2                  else
 328   2                      cmd[0] = FAIL;
 329   2                  return 1;
 330   2              
 331   2              case CMD_SETMODE:
 332   2                  if(len != 3)
 333   2                  {
 334   3                      cmd[0] = ERRORCMDLEN;
 335   3                      return 1;
 336   3                  }
 337   2                  fLed = cmd[2] & F_LED;
 338   2                  fTCBeep = cmd[2] & F_BOTC;
 339   2                  fRFCBeep = cmd[2] & F_BORFC;
 340   2                  InvPack = cmd[2] & F_CINV;
 341   2                  fNotice = cmd[2] & F_NOTICE;
 342   2                  fStopOnACK = cmd[2] & F_SNOA;
 343   2                  fAutoSearchCard = cmd[2] & F_ASC;
 344   2      
 345   2                  if(ParaWrite(PARA_SWITCHS, cmd[2]) == cmd[2])
 346   2                  {
 347   3                      cmd[0] = SUCCESS;
 348   3                  }
 349   2                  else
 350   2                  {
 351   3                      cmd[0] = FAIL;
 352   3                  }
 353   2                  return 1;
 354   2                  
 355   2              case CMD_GETMODE:
 356   2                  if(len != 2)
 357   2                  {
 358   3                      cmd[0] = ERRORCMDLEN;
 359   3                      return 1;
 360   3                  }
 361   2                  
 362   2                  ch = ParaRead(PARA_SWITCHS);
 363   2                  if(ch >= 0)
 364   2                  {
C51 COMPILER V8.00   SYSTEM                                                                04/23/2009 15:56:17 PAGE 7   

 365   3                      cmd[0] = SUCCESS;
 366   3                      cmd[1] = (unsigned char)ch;
 367   3                      return 2;
 368   3                  }
 369   2                  else
 370   2                  {
 371   3                      cmd[0] = FAIL;
 372   3                      cmd[1] = (char)ch;
 373   3                      return 2;
 374   3                  }
 375   2                  
 376   2              case CMD_SETRFRXGAIN:
 377   2                  if(len != 3)
 378   2                  {
 379   3                      cmd[0] = ERRORCMDLEN;
 380   3                      return 1;
 381   3                  }
 382   2                  
 383   2                  M500SetRcvGain(cmd[2]);
 384   2                  // write parameter to flash
 385   2                  if(ParaWrite(PARA_RFRXGAIN, cmd[2]) == cmd[2])
 386   2                      cmd[0] = SUCCESS;
 387   2                  else
 388   2                      cmd[0] = FAIL;
 389   2                  return 1;
 390   2                  
 391   2              case CMD_GETVER:
 392   2                  if(len != 2)
 393   2                  {
 394   3                      cmd[0] = ERRORCMDLEN;
 395   3                      return 1;
 396   3                  }
 397   2                  
 398   2                  cmd[0] = SUCCESS;
 399   2                  strcpy(cmd+1, ver);
 400   2                  return strlen(ver)+1;
 401   2                  
 402   2              case CMD_GETSYSINFO:
 403   2                  if(len != 2)
 404   2                  {
 405   3                      cmd[0] = ERRORCMDLEN;
 406   3                      return 1;
 407   3                  }
 408   2                  
 409   2                  cmd[0] = SUCCESS;
 410   2                  strcpy(cmd+1, sysinfo);
 411   2                  return strlen(sysinfo)+1;
 412   2                  
 413   2              case CMD_SYSRESET:
 414   2                  if(len != 2)
 415   2                  {
 416   3                      cmd[0] = ERRORCMDLEN;
 417   3                      return 1;
 418   3                  }
 419   2                  
 420   2                  cmd[0] = SUCCESS;
 421   2                              cmd[1] = CMD_SYSRESET;
 422   2                  CommSend(cmd, 2);
 423   2                  while(1) {LED = ~LED;}  // wait watchdog reset
 424   2                  // continue;
 425   2          
 426   2              case CMD_TESTCARD:
C51 COMPILER V8.00   SYSTEM                                                                04/23/2009 15:56:17 PAGE 8   

 427   2                  if(len != 2)
 428   2                  {
 429   3                      cmd[0] = ERRORCMDLEN;
 430   3                      return 1;
 431   3                  }
 432   2                  
 433   2                  cmd[0] = SUCCESS;
 434   2                  cmd[1] = IccUserTest();
 435   2                  cmd[2] = M1Search(snr);
 436   2                  return 3;
 437   2                  
 438   2              case CMD_SETICCBRATE: 
 439   2                  if(len != 3)
 440   2                  {
 441   3                      cmd[0] = ERRORCMDLEN;
 442   3                      return 1;
 443   3                  }
 444   2                  
 445   2                  //todo: init icc etu!!!!!!!!!!
 446   2                  cmd[0] = SUCCESS;
 447   2                  return 1;
 448   2                  
 449   2              case CMD_USEDEBUG:
 450   2                  if(len != 3)
 451   2                  {
 452   3                      cmd[0] = ERRORCMDLEN;
 453   3                      return 1;
 454   3                  }
 455   2                  
 456   2                  if(cmd[2])
 457   2                      CommUseDbg(1);
 458   2                  else
 459   2                      CommUseDbg(0);
 460   2                      
 461   2                  cmd[0] = SUCCESS;
 462   2                  return 1;
 463   2                  
 464   2              case CMD_BEEP:
 465   2                  if(len != 4)
 466   2                  {
 467   3                      cmd[0] = ERRORCMDLEN;
 468   3                      return 1;
 469   3                  }
 470   2                  beep(cmd[2], cmd[3]);   // cmd[1]: times, cmd[2]: time
 471   2                  cmd[0] = SUCCESS;
 472   2                  return 1;
 473   2                  
 474   2              case CMD_INV_PACK:
 475   2                  if(len != 3)
 476   2                  {
 477   3                      cmd[0] = ERRORCMDLEN;
 478   3                      return 1;
 479   3                  }
 480   2                  
 481   2                  InvPack = cmd[2] ? 1 : 0;
 482   2                  cmd[0] = SUCCESS;
 483   2                  return 1;
 484   2                  
 485   2              case CMD_RFRESET:
 486   2                  if(len != 2)
 487   2                  {
 488   3                      cmd[0] = ERRORCMDLEN;
C51 COMPILER V8.00   SYSTEM                                                                04/23/2009 15:56:17 PAGE 9   

 489   3                      return 1;
 490   3                  }
 491   2                  
 492   2                  if(M500PcdInit() == MI_OK)
 493   2                      cmd[0] = SUCCESS;
 494   2                  else
 495   2                      cmd[0] = FAIL;
 496   2                  return 1;
 497   2                  
 498   2              case CMD_GETHDINFO:
 499   2                  if(len != 2)
 500   2                  {
 501   3                      cmd[0] = ERRORCMDLEN;
 502   3                      return 1;
 503   3                  }
 504   2                  
 505   2                  cmd[0] = SUCCESS;
 506   2                  strcpy(cmd+1, pcbinfo);
 507   2                  return strlen(pcbinfo)+1;
 508   2                  
 509   2              case CMD_SETTOCRF:
 510   2                  if(len != 3)
 511   2                  {
 512   3                      cmd[0] = ERRORCMDLEN;
 513   3                      return 1;
 514   3                  }
 515   2                  
 516   2                  CardConfirmTime = (unsigned int)cmd[2] * 10;
 517   2                  if(ParaWrite(PARA_RFCCT, cmd[2]) == cmd[2])
 518   2                  {
 519   3                      cmd[0] = SUCCESS;
 520   3                  }
 521   2                  else
 522   2                  {
 523   3                      cmd[0] = FAIL;
 524   3                  }
 525   2                  return 1;
 526   2                  
 527   2              case CMD_USERPOWER:
 528   2                  if(len != 3)
 529   2                  {
 530   3                      cmd[0] = ERRORCMDLEN;
 531   3                      return 1;
 532   3                  }
 533   2                  
 534   2                  IccUserPower(cmd[2]);
 535   2                  cmd[0] = SUCCESS;
 536   2                  return 1;
 537   2                  
 538   2              case CMD_SETLED:
 539   2                  if(len != 6)
 540   2                  {
 541   3                      cmd[0] = ERRORCMDLEN;
 542   3                      return 1;
 543   3                  }
 544   2                  
 545   2                  lorc = cmd[2];
 546   2                  lotc = cmd[3];
 547   2                  lobc = cmd[4];
 548   2                  lonc = cmd[5];
 549   2                  
 550   2                  cmd[0] = SUCCESS;
C51 COMPILER V8.00   SYSTEM                                                                04/23/2009 15:56:17 PAGE 10  

 551   2                  cmd[1] = ParaWrite(PARA_LORC, lorc);
 552   2                  cmd[2] = ParaWrite(PARA_LOTC, lotc);
 553   2                  cmd[3] = ParaWrite(PARA_LOBC, lobc);
 554   2                  cmd[4] = ParaWrite(PARA_LONC, lonc);
 555   2                  return 5;
 556   2               
 557   2               case CMD_CTRLLED:
 558   2                  if(len != 3)
 559   2                  {
 560   3                      cmd[0] = ERRORCMDLEN;
 561   3                      return 1;
 562   3                  }
 563   2                  
 564   2                  led(cmd[2]);
 565   2                  cmd[0] = SUCCESS;
 566   2                  return 1;
 567   2                  
 568   2              // todo: test over load error.
 569   2                  
 570   2              /*
 571   2              case CMD_STARTISP:
 572   2              */
 573   2              
 574   2              default:
 575   2                  cmd[0] = ERRORCMD;
 576   2                  return 1;
 577   2          }
 578   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2849    ----
   CONSTANT SIZE    =    370    ----
   XDATA SIZE       =      7      21
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      9       2
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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