PcdSelect.c
上传用户:hbtfgg
上传日期:2021-12-10
资源大小:16k
文件大小:1k
源码类别:

RFID编程

开发平台:

C/C++

  1. #include <reg52.h>
  2. #include "rc500.h"
  3. char PcdSelect(uchar *snr)
  4. {
  5.     uchar i;
  6.     char status;
  7.     uchar snr_check=0;
  8.     idata struct TranSciveBuffer{uchar MfCommand;
  9.                                  uchar MfLength;
  10.                                  uchar MfData[7];
  11.                                 }MfComData;
  12.     struct TranSciveBuffer *pi;
  13.     pi=&MfComData;
  14.     PcdSetTmo(106);
  15.     WriteRC(RegChannelRedundancy,0x0F);
  16.     ClearBitMask(RegControl,0x08);
  17.     MfComData.MfCommand=PCD_TRANSCEIVE;
  18.     MfComData.MfLength=7;
  19.     MfComData.MfData[0]=PICC_ANTICOLL1;
  20.     MfComData.MfData[1]=0x70;
  21.     for(i=0;i<4;i++)
  22.     {
  23.      snr_check^=*(snr+i);
  24.      MfComData.MfData[i+2]=*(snr+i);
  25.     }
  26.     MfComData.MfData[6]=snr_check;
  27.     status=PcdComTransceive(pi);
  28.     if(status==MI_OK)
  29.     {    if(MfComData.MfLength!=0x8)
  30.         {
  31.          status = MI_BITCOUNTERR;
  32.         }
  33.    }
  34.    return status;
  35. }