PcdAnticoll.c
资源名称:RC500.rar [点击查看]
上传用户:hbtfgg
上传日期:2021-12-10
资源大小:16k
文件大小:1k
源码类别:
RFID编程
开发平台:
C/C++
- #include <reg52.h>
- #include "rc500.h"
- char PcdAnticoll(uchar *snr)
- {
- uchar i;
- uchar snr_check=0;
- char status=MI_OK;
- idata struct TranSciveBuffer{uchar MfCommand;
- uchar MfLength;
- uchar MfData[5];
- }MfComData;
- struct TranSciveBuffer *pi;
- pi=&MfComData;
- PcdSetTmo(106);
- WriteRC(RegDecoderControl,0x28);
- ClearBitMask(RegControl,0x08);
- WriteRC(RegChannelRedundancy,0x03);
- MfComData.MfCommand=PCD_TRANSCEIVE;
- MfComData.MfLength=2;
- MfComData.MfData[0]=PICC_ANTICOLL1;
- MfComData.MfData[1]=0x20;
- status=PcdComTransceive(pi);
- if(!status)
- {
- for(i=0;i<4;i++)
- {
- snr_check^=MfComData.MfData[i];
- }
- if(snr_check!=MfComData.MfData[i])
- {
- status=MI_SERNRERR;
- }
- else
- {
- for(i=0;i<4;i++)
- {
- *(snr+i)=MfComData.MfData[i];
- }
- }
- }
- ClearBitMask(RegDecoderControl,0x20);
- return status;
- }