给你一段肯定可以的
//*****************************************************************//
//功 能:复位RC522
//返 回: 成功返回MI_OK
INT8U res;
//*****************************************************************//
INT8S PcdReset(void)
{
//MF522_RST=1;
SetRstHigh();
//_nop_();
RF522_Delay(1000);
//MF522_RST=0;
SetRstLow();
//_nop_();
RF522_Delay(1000);
//MF522_RST=1;
SetRstHigh();
//_nop_();
WriteRawRC(CommandReg,PCD_RESETPHASE);
RF522_Delay(1000);
WriteRawRC(ModeReg,0x3D); //和Mifare卡通讯,CRC初始值0x6363
WriteRawRC(TReloadRegL,30);
WriteRawRC(TReloadRegH,0);
WriteRawRC(TModeReg,0x8D);
WriteRawRC(TPrescalerReg,0x3E);
WriteRawRC(TxAutoReg,0x40);
res = ReadRawRC(VersionReg);
if(res!=0)
{
res=0;
}
res = ReadRawRC(ModeReg);
if(res!=0x3d)
{
res = 0;
return MI_ERR;
}
res = ReadRawRC(TReloadRegL);
if(res!=30)
{
res = 0;
return MI_ERR;
}
res = ReadRawRC(TReloadRegH);
if(res!=0)
{
res = 0;
return MI_ERR;
}
res = ReadRawRC(TModeReg);
if(res!=0x8D)
{
res = 0;
return MI_ERR;
}
res = ReadRawRC(TPrescalerReg);
if(res!=0x3e)
{
res = 0;
return MI_ERR;
}
res = ReadRawRC(TxAutoReg);
if(res!=0x40)
{
res = 0;
return MI_ERR;
}
return MI_OK;
} |
评论
老哥,,我这边用rc522,读寄存器没有问题,但是写寄存器一直写不了,,你有没有碰到过这个问题,