📄 pcdauthstate.c
字号:
#include <reg52.h>
#include "rc500.h"
char PcdAuthState(uchar auth_mode,uchar block,uchar *snr)
{
char status=MI_OK;
uchar i;
idata struct TranSciveBuffer{uchar MfCommand;
uchar MfLength;
uchar MfData[6];
}MfComData;
struct TranSciveBuffer *pi;
pi=&MfComData;
WriteRC(RegChannelRedundancy,0x07);
if(status==MI_OK)
{
PcdSetTmo(106);
MfComData.MfCommand=PCD_AUTHENT1;
MfComData.MfLength=6;
MfComData.MfData[0]=auth_mode;
MfComData.MfData[1]=block;
for(i=0;i<4;i++)
{
MfComData.MfData[i+2]=*(snr+i);
}
if((status=PcdComTransceive(pi))==MI_OK)
{
if (ReadRC(RegSecondaryStatus)&0x07)
{
status = MI_BITCOUNTERR;
}
else
{
MfComData.MfCommand=PCD_AUTHENT2;
MfComData.MfLength=0;
if((status=PcdComTransceive(pi))==MI_OK)
{
if(ReadRC(RegControl)&0x08)
status=MI_OK;
else
status=MI_AUTHERR;
}
}
}
}
return status;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -