📄 main.lst
字号:
399 3 cStatus =IicReadHY502(cp); // 读取并存入到cP
400 3 if((cStatus==SUCCESS)&&(cp[1]==SOFTDOWN))
401 3 {
402 4 SendBuffer[0]=0x02;
403 4 SendBuffer[1]=cmd;
404 4
405 4 }
406 3
407 3 }
408 2 else
409 2 {
410 3 SendBuffer[0]=0x02;
411 3 SendBuffer[1]=~cmd;
412 3 cStatus=1;
413 3 }
414 2 break;
415 2
416 2 case 0x12: // Halt the card //终止卡的操作
417 2
418 2
419 2 cStatus =IicSendHY502(CardHalt);
420 2 cStatus =IicReadHY502(cp); // 保存到数组cP
421 2 if((cStatus==SUCCESS)&&(cp[1]==HALT_CARD))
422 2 {
423 3 SendBuffer[0]=0x02;
424 3 SendBuffer[1]=cmd;
425 3
426 3 }
C51 COMPILER V8.02 MAIN 01/26/2007 15:08:37 PAGE 8
427 2
428 2 else
429 2 {
430 3 SendBuffer[0]=0x02;
431 3 SendBuffer[1]=~cmd;
432 3 }
433 2
434 2 break;
435 2
436 2 case 0x13: // 自动寻卡 ,1字节数据,0x01 开启自动寻卡,0x00关闭
437 2 if(g_cReceBuf[2]==0x01)
438 2 {
439 3
440 3 cStatus =IicSendHY502(AutoCard); // 发送命令
441 3 cStatus =IicReadHY502(cp); // 读取并存入到cP
442 3 if((cStatus==SUCCESS)&&(cp[1]==AUTOSEARCH))
443 3 {
444 4 SendBuffer[0]=0x02;
445 4 SendBuffer[1]=cmd;
446 4
447 4 Cardinner=1;
448 4 cStatus=0;
449 4 }
450 3 else
451 3 {
452 4 SendBuffer[0]=0x02;
453 4 SendBuffer[1]=~cmd;
454 4 cStatus=1;
455 4 }
456 3 }
457 2
458 2 else if(g_cReceBuf[2]==0)
459 2 {
460 3 cStatus =IicSendHY502(AutoOff); // 发送命令
461 3 cStatus =IicReadHY502(cp); // 读取并存入到cP
462 3 if((cStatus==SUCCESS)&&(cp[1]==AUTOSEARCH))
463 3 {
464 4 SendBuffer[0]=0x02;
465 4 SendBuffer[1]=cmd;
466 4
467 4 Cardinner=1;
468 4 cStatus=0;
469 4 }
470 3 else
471 3 {
472 4 SendBuffer[0]=0x02;
473 4 SendBuffer[1]=~cmd;
474 4 cStatus=1;
475 4 }
476 3
477 3 }
478 2 else
479 2 {
480 3 SendBuffer[0]=0x02;
481 3 SendBuffer[1]=~cmd;
482 3 cStatus=1;
483 3 }
484 2 break;
485 2
486 2
487 2 case 0x14: // 蜂鸣器操作 ,1字节数据,0x1y 开启并使蜂鸣器响y声,0x0y关闭
488 2 g_cBeeps=g_cReceBuf[2];
C51 COMPILER V8.02 MAIN 01/26/2007 15:08:37 PAGE 9
489 2 SendBuffer[0]=0x02;
490 2 SendBuffer[1]=cmd;
491 2 break;
492 2
493 2 case 0x15: // 蜂鸣器操作 ,设置蜂鸣器间隔,1字节数据 ,0.01s
494 2 sp_freq=~g_cReceBuf[2];
495 2 SendBuffer[0]=0x02;
496 2 SendBuffer[1]=cmd;
497 2 break;
498 2
499 2
500 2 case 0x19://读卡类型 //无数据 返回卡类型(2 bytes)
501 2
502 2 cStatus =IicSendHY502(ComCardType); // 发送命令
503 2 cStatus =IicReadHY502(cp); // 读取并存入到cP
504 2 if((cStatus==SUCCESS)&&(cp[1]==CARD_TYPE))
505 2 {
506 3 SendBuffer[0]=4;
507 3 SendBuffer[1]=cmd;
508 3 SendBuffer[2]=cp[2];
509 3 SendBuffer[3]=cp[3];
510 3
511 3 }
512 2
513 2 else
514 2 {
515 3 SendBuffer[0]=0x02;
516 3 SendBuffer[1]=~cmd;
517 3 cStatus=1;
518 3 }
519 2
520 2 break;
521 2
522 2
523 2 case 0x20: // Request,Anticoll,Select,return CardSerialNo(4 bytes)
524 2 // 寻卡,防冲突,选择卡 返回卡系列号(4 bytes)
525 2
526 2 cStatus =IicSendHY502(ComSearchCard); // 发送寻卡命令
527 2 cStatus =IicReadHY502(cp); // 读取卡号并存入到cP
528 2 if((cStatus==SUCCESS)&&(cp[1]==CARD_SN))
529 2
530 2 {
531 3 SendBuffer[0]=6;
532 3 SendBuffer[1]=cmd;
533 3 memcpy(&SendBuffer[2],&cp[2],4);
534 3
535 3 }
536 2
537 2 else
538 2 {
539 3 SendBuffer[0]=0x02;
540 3 SendBuffer[1]=~cmd;
541 3 cStatus=1;
542 3 }
543 2
544 2 break;
545 2
546 2 case 0x21: //读块 读写块时建议关闭自动寻卡功能可以提高读写的成功率!
547 2 //数据内容 1 字节密钥标识+1 块号+6 字节密钥
548 2
549 2 cStatus =IicSendHY502(ComSearchCard); // 发送寻卡命令
550 2 cStatus =IicReadHY502(cp); // 读取卡号并存入到cP
C51 COMPILER V8.02 MAIN 01/26/2007 15:08:37 PAGE 10
551 2 if((cStatus==SUCCESS)&&(cp[1]==CARD_SN))
552 2
553 2 {
554 3 SendBuffer[0]=0x12;
555 3 SendBuffer[1]=cmd;
556 3 memcpy(&SendBuffer[2],&cp[2],16);
557 3
558 3 }
559 2
560 2 else
561 2 {
562 3 SendBuffer[0]=0x02;
563 3 SendBuffer[1]=~cmd;
564 3 cStatus=1;
565 3 }
566 2
567 2 break;
568 2
569 2 case 0x22 : //写块
570 2 //1 字节密钥标识+1 块号+6 字节密钥+16 字节写入数据
571 2
572 2 cStatus =IicSendHY502(g_cReceBuf); // 发送命令
573 2 cStatus =IicReadHY502(cp); // 读取并存入到cP
574 2 if((cStatus==SUCCESS)&&(cp[1]==WRITE_BLOCK))
575 2 {
576 3 SendBuffer[0]=0x02;
577 3 SendBuffer[1]=cmd;
578 3
579 3 }
580 2
581 2 else
582 2 {
583 3 SendBuffer[0]=0x02;
584 3 SendBuffer[1]=~cmd;
585 3 cStatus=1;
586 3 }
587 2
588 2 break;
589 2
590 2 case 0x23 : //初始化钱包
591 2 //数据内容“1 字节密钥标识+1 块号+6 字节密钥+4 字节钱包”
592 2
593 2 cStatus =IicSendHY502(g_cReceBuf); // 发送命令
594 2 cStatus =IicReadHY502(cp); // 读取并存入到cP
595 2 if((cStatus==SUCCESS)&&(cp[1]==INIT_PURSE))
596 2 {
597 3 SendBuffer[0]=0x02;
598 3 SendBuffer[1]=cmd;
599 3
600 3 }
601 2
602 2 else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -