亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mfrc500uc.lst

?? RC500的mifare卡開發(fā)備用程序及電路
?? LST
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
 451                         byteOffset = 0;
 452                         if ( nbits != 0 )           // last byte was not complete
 453                         {
 454                            snr_in[nbytes - 1] = snr_in[nbytes - 1] | MRcvBuffer[0];
 455                            byteOffset = 1;
 456                         }
 457                         for ( i =0; i < (4 - nbytes); i++)     
 458                         {
 459                            snr_in[nbytes + i] = MRcvBuffer[i + byteOffset];
 460                         }
 461               
 462                         if (status != MI_COLLERR ) // no error and no collision
 463                         {
 464                            // SerCh check
 465                            snr_crc = snr_in[0] ^ snr_in[1] ^ snr_in[2] ^ snr_in[3];
 466                            snr_check = MRcvBuffer[MInfo.nBytesReceived - 1];
 467                            if (snr_crc != snr_check)
 468                            {
 469                               status = MI_SERNRERR;
 470                            } 
 471                            else   
 472                            {
 473                               complete = 1;
 474                            }
 475                         }
 476                         else                   // collision occured
 477                         {
 478                            bcnt = bcnt + MInfo.collPos - nbits;
 479                            status = MI_OK;
 480                         }
 481                      }
 482                  }
C51 COMPILER V6.12  MFRC500UC                                                              08/18/2008 15:29:35 PAGE 9   

 483                }
 484             }
 485             if (status == MI_OK)
 486             {
 487                // transfer snr_in to snr
 488                memcpy(snr,snr_in,4);
 489             }
 490             else
 491             {
 492                memcpy(snr,"0000",4);
 493             }
 494          
 495             //----------------------Einstellungen aus Initialisierung ruecksetzen 
 496             ClearBitMask(RegDecoderControl,0x20); // ZeroAfterColl disable
 497             
 498             return status;  
 499          }
 500          
 501          ///////////////////////////////////////////////////////////////////////
 502          //          M I F A R E    S E L E C T 
 503          // for std. select
 504          ///////////////////////////////////////////////////////////////////////
 505          char Mf500PiccSelect(unsigned char *snr, 
 506                            unsigned char *sak)
 507          {
 508             return Mf500PiccCascSelect(0x93,snr,sak); // first cascade level
 509          }
 510          
 511          ///////////////////////////////////////////////////////////////////////
 512          //          M I F A R E    C A S C A D E D   S E L E C T 
 513          //  for extended serial number
 514          ///////////////////////////////////////////////////////////////////////
 515          char Mf500PiccCascSelect(unsigned char select_code, 
 516                                  unsigned char *snr,
 517                                  unsigned char *sak)
 518          {
 519             char   status = MI_OK; 
 520          
 521             if ((status = Mf500PcdSetDefaultAttrib()) == MI_OK)
 522             {
 523                PcdSetTmo(106);
 524              
 525                WriteRC(RegChannelRedundancy,0x0F); // RxCRC,TxCRC, Parity enable
 526                ClearBitMask(RegControl,0x08);    // disable crypto 1 unit
 527             
 528                //************* Cmd Sequence ********************************** 
 529                ResetInfo(MInfo);   
 530                MSndBuffer[0] = select_code;
 531                MSndBuffer[1] = 0x70;         // number of bytes send
 532                
 533                memcpy(MSndBuffer + 2,snr,4);
 534                MSndBuffer[6] = MSndBuffer[2] 
 535                                ^ MSndBuffer[3] 
 536                                ^ MSndBuffer[4] 
 537                                ^ MSndBuffer[5];
 538                MInfo.nBytesToSend   = 7;
 539                status = PcdSingleResponseCmd(PCD_TRANSCEIVE,
 540                                    MSndBuffer,
 541                                    MRcvBuffer,
 542                                    &MInfo);
 543             
 544                *sak = 0;   
C51 COMPILER V6.12  MFRC500UC                                                              08/18/2008 15:29:35 PAGE 10  

 545                if (status == MI_OK)    // no timeout occured
 546                {
 547                   if (MInfo.nBitsReceived != 8)    // last byte is not complete
 548                   {
 549                      status = MI_BITCOUNTERR;
 550                   }
 551                   else
 552                   {
 553                      *sak = MRcvBuffer[0];
 554                      memcpy(MLastSelectedSnr,snr,4);            
 555                   }
 556                }
 557             }
 558             return status;
 559          }
 560          
 561          ///////////////////////////////////////////////////////////////////////
 562          //       M I F A R E   P I C C   A C T I V A T I O N    S E Q E N C E
 563          ///////////////////////////////////////////////////////////////////////
 564          char Mf500PiccActivateIdle(unsigned char br,
 565                                     unsigned char *atq, 
 566                                     unsigned char *sak, 
 567                                     unsigned char *uid, 
 568                                     unsigned char *uid_len)
 569          {
 570            unsigned char cascade_level;
 571            unsigned char sel_code;
 572            unsigned char uid_index;
 573            signed char status;
 574            unsigned char cmdASEL;
 575          
 576            *uid_len      = 0;
 577          
 578            //call activation with def. divs
 579            status = Mf500PcdSetDefaultAttrib();
 580            if (status == MI_OK)
 581            {
 582               status = Mf500PiccCommonRequest(PICC_REQIDL,atq);
 583            }
 584            if (status == MI_OK)
 585            {
 586               if((atq[0] & 0x1F) == 0x00) // check lower 5 bits, for tag-type
 587                                           // all tags within this 5 bits have to
 588                                           // provide a bitwise anticollision
 589               {
 590                  status = MI_NOBITWISEANTICOLL;
 591               }
 592            }
 593            if (status == MI_OK)
 594            {
 595                //Get UID in 1 - 3 levels (standard, [double], [triple] )
 596                //-------
 597                switch(br)
 598                {
 599                   case 0: cmdASEL = PICC_ANTICOLL1; break;
 600                   default:
 601                        status = MI_BAUDRATE_NOT_SUPPORTED; break;
 602                }
 603            }
 604            if (status == MI_OK)
 605            {
 606                cascade_level = 0;
C51 COMPILER V6.12  MFRC500UC                                                              08/18/2008 15:29:35 PAGE 11  

 607                uid_index     = 0;
 608                do
 609                {
 610                  //Select code depends on cascade level
 611                  sel_code   = cmdASEL + (2 * cascade_level);
 612                  cmdASEL = PICC_ANTICOLL1; // reset anticollistion level for calculation
 613                  //ANTICOLLISION
 614                  status = Mf500PiccCascAnticoll(sel_code, 0, &uid[uid_index]);
 615                  //SELECT
 616                  if (status == MI_OK)
 617                  {
 618                     status = Mf500PiccCascSelect(sel_code, &uid[uid_index], sak);
 619                     if (status == MI_OK)
 620                     {
 621                        cascade_level++;
 622          
 623                        //we differ cascaded and uncascaded UIDs
 624                        if (*sak & 0x04) // if cascaded, bit 2 is set in answer to select
 625                        {
 626                           //this UID is cascaded, remove the cascaded tag that is
 627                           //0x88 as first of the 4 byte received
 628                           memmove(&uid[uid_index], &uid[uid_index + 1], 3);
 629                           uid_index += 3;
 630                           *uid_len += 3;
 631                        }
 632                        else
 633                        {
 634                           //this UID is not cascaded -> the length is 4 bytes
 635                           uid_index += 4;
 636                           *uid_len += 4;
 637                        }
 638                     }
 639                  }
 640                }
 641                while((status == MI_OK)        // error status
 642                      && (*sak & 0x04)         // no further cascade level
 643                      && (cascade_level < 3)); // highest cascade level is reached
 644             }
 645             if (status == MI_OK)
 646             {
 647                //Exit function, if cascade level is triple and sak indicates another
 648                //cascase level.
 649                if ((cascade_level == 3) && (*sak & 0x04))
 650                {
 651                   *uid_len = 0;
 652                   status = MI_SERNRERR;
 653                }
 654             }
 655             return (status);
 656          }
 657          
 658          ///////////////////////////////////////////////////////////////////////
 659          //       M I F A R E   P I C C   A C T I V A T I O N    S E Q E N C E
 660          ///////////////////////////////////////////////////////////////////////
 661          char Mf500PiccActivateWakeup(unsigned char br,
 662                                       unsigned char *atq, 
 663                                       unsigned char *sak,
 664                                       unsigned char *uid, 
 665                                       unsigned char uid_len)
 666          {
 667             unsigned char cascade_level;
 668             unsigned char uid_index;
C51 COMPILER V6.12  MFRC500UC                                                              08/18/2008 15:29:35 PAGE 12  

 669             unsigned char tmpuid[4];
 670             unsigned char sel_code;
 671             unsigned char cmdASEL;
 672             signed char   status;
 673          
 674             //call activation with def. divs
 675             status = Mf500PcdSetDefaultAttrib();
 676             if (status == MI_OK)
 677             {
 678                status = Mf500PiccCommonRequest(PICC_REQIDL,atq);
 679             }
 680             if (status == MI_OK)
 681             {
 682                if ((atq[0] & 0x1F) == 0x00) // check lower 5 bits, for tag-type

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费毛片a| 欧美特级限制片免费在线观看| 成人免费看片app下载| 欧美美女一区二区三区| 亚洲国产精品精华液2区45| 香蕉加勒比综合久久| 国产91富婆露脸刺激对白| 欧美一区2区视频在线观看| 亚洲少妇30p| 成人av电影免费观看| 久久丝袜美腿综合| 蜜桃av噜噜一区| 欧美日韩情趣电影| 亚洲一区二区三区在线播放| 成人18视频在线播放| 久久久99精品久久| 国模少妇一区二区三区| 日韩欧美在线一区二区三区| 亚洲国产视频一区二区| 91免费国产视频网站| 中文字幕亚洲区| caoporm超碰国产精品| 国产精品毛片久久久久久| 国产精品综合在线视频| 精品电影一区二区| 久久成人免费电影| 欧美tk—视频vk| 精彩视频一区二区三区| 日韩欧美亚洲国产精品字幕久久久| 亚洲成人精品一区| 欧美精品xxxxbbbb| 免费三级欧美电影| 91精品国产免费| 六月丁香婷婷久久| 26uuu欧美| 成人丝袜18视频在线观看| 国产精品成人在线观看| 一本色道久久加勒比精品| 亚洲精品国产无天堂网2021| 91麻豆精品一区二区三区| 亚洲天堂精品在线观看| 91天堂素人约啪| 一区二区三区中文字幕精品精品 | 国产精品资源在线观看| 欧美日韩精品一区二区三区| 日日夜夜免费精品| 日韩精品一区二| 成人蜜臀av电影| 亚洲午夜一二三区视频| 日韩视频一区二区在线观看| 亚洲777理论| 精品欧美一区二区三区精品久久| 国产一区二区三区在线观看免费 | 91丨九色丨蝌蚪富婆spa| 国产精品国产三级国产普通话99 | 欧美三级乱人伦电影| 日产欧产美韩系列久久99| 欧美一二三四区在线| 成人午夜私人影院| 亚洲国产精品一区二区www| 日韩免费电影网站| av电影在线观看完整版一区二区| 亚洲色图欧美偷拍| 日韩欧美亚洲国产另类| eeuss国产一区二区三区| 日本怡春院一区二区| 国产精品免费丝袜| 6080yy午夜一二三区久久| 国产一区不卡视频| 亚洲1区2区3区4区| 国产精品视频看| 91精品福利在线一区二区三区| 国产成a人亚洲精品| 午夜视频一区在线观看| 国产精品日韩成人| 欧美一区二区久久| 日本久久精品电影| 国产精品一区二区三区网站| 亚洲电影你懂得| 国产精品久久久久久久久免费相片 | 欧美久久久久中文字幕| 波多野结衣亚洲| 国产麻豆精品95视频| 日韩av电影免费观看高清完整版在线观看 | 717成人午夜免费福利电影| 成人在线一区二区三区| 美女精品自拍一二三四| 亚洲一区中文在线| 亚洲欧美影音先锋| 国产日韩欧美麻豆| 久久这里只有精品6| 69久久夜色精品国产69蝌蚪网| 日本道在线观看一区二区| 高清beeg欧美| 国产成人在线观看| 九色综合国产一区二区三区| 视频一区视频二区在线观看| 亚洲精品视频一区| 亚洲私人影院在线观看| 中文字幕一区二区三区乱码在线 | 欧美变态tickle挠乳网站| 欧美日韩在线三级| 色狠狠桃花综合| 91一区二区三区在线观看| 大桥未久av一区二区三区中文| 国产综合成人久久大片91| 黄一区二区三区| 狠狠狠色丁香婷婷综合激情 | 日本一区二区视频在线观看| 久久精品在这里| 欧美精品一区二| 欧美成人精品高清在线播放| 日韩一级片在线播放| 日韩一级二级三级| 精品欧美久久久| 久久九九99视频| 国产日韩精品一区| 国产精品国产精品国产专区不蜜| 国产精品第13页| 亚洲女同ⅹxx女同tv| 亚洲黄网站在线观看| 亚洲午夜一区二区三区| 日韩精品成人一区二区在线| 日韩中文字幕麻豆| 蜜臀久久99精品久久久久宅男 | 欧美精品一区视频| 久久久久久99久久久精品网站| 久久久无码精品亚洲日韩按摩| 久久精品欧美一区二区三区不卡| 久久久综合视频| 综合在线观看色| 天天色综合天天| 国产一区二区久久| 91亚洲精品久久久蜜桃| 在线观看av一区二区| 欧美一区二区免费视频| 国产视频一区在线播放| 亚洲精品视频一区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产在线不卡一区| 91美女片黄在线| 日韩精品一区二区三区在线播放| 国产欧美日韩在线| 亚洲18女电影在线观看| 韩国av一区二区三区在线观看| 成人综合在线视频| 欧美高清你懂得| 欧美韩国日本一区| 亚洲国产精品人人做人人爽| 激情六月婷婷久久| 欧美午夜在线一二页| 久久日一线二线三线suv| 亚洲欧美电影院| 狠狠狠色丁香婷婷综合激情| 91丨九色丨黑人外教| 亚洲精品在线免费观看视频| 中文字幕亚洲精品在线观看| 美国av一区二区| 在线免费观看日韩欧美| 欧美韩国日本综合| 美洲天堂一区二卡三卡四卡视频| 高清国产一区二区| 91亚洲精品久久久蜜桃网站 | 国产91富婆露脸刺激对白| 欧美日本精品一区二区三区| 中文字幕在线一区| 老司机精品视频线观看86| 色综合网站在线| 日韩欧美一区二区不卡| 欧美xxxx老人做受| 亚洲一区成人在线| 91视频免费播放| 国产亚洲人成网站| 久久99精品视频| 欧美一级淫片007| 亚洲成人av福利| 91免费在线播放| 亚洲欧洲一区二区在线播放| 国产综合一区二区| 69堂国产成人免费视频| 一区二区激情小说| 成人黄色网址在线观看| 国产午夜三级一区二区三| 久久99精品一区二区三区| 欧美一区二区在线视频| 亚洲综合视频网| 色婷婷精品大在线视频| 中文字幕一区二区三区不卡 | 一本色道综合亚洲| 最新国产成人在线观看| 国产成人精品午夜视频免费| 日韩一区二区精品| 蜜桃在线一区二区三区| 欧美一区三区二区| 奇米色777欧美一区二区| 欧美一区二区三区爱爱| 毛片一区二区三区| 欧美成人性战久久| 国产一区 二区| 国产精品网站在线播放|