买来的RFID-RC522模块,有的卡能正常读取,串口如下返回:
PcdRequest_MI_OK PcdAnticoll_MI_OK ID:e9 88 ea 45
PcdSelect_MI_OK PcdAuthState_MI_OK READ_MI_OK
有的如下,验证不成功,估计是密码不对。这该怎么办呢?密码是6个字节,一直尝试,总能**吧~
PcdRequest_MI_OK PcdAnticoll_MI_OK ID:a5 b5 d5 29
PcdSelect_MI_OK
还有的根本连寻卡都不成功,卡靠近,串口没有任何显示。这是为什么呢?
下面贴上RC522测试主函数里的while循环内容:
status = PcdRequest(PICC_REQALL,CT);/*尋卡*/
if(status==MI_OK)//尋卡成功
{
printf("PcdRequest_MI_OK ");
status=MI_ERR;
status = PcdAnticoll(SN);/*防冲撞*/
}
if (status==MI_OK)//防衝撞成功
{
printf("PcdAnticoll_MI_OK ");
status=MI_ERR;
printf("ID:%02x %02x %02x %02x\n",SN[0],SN[1],SN[2],SN[3]);//发送卡号
status =PcdSelect(SN);
}
if(status==MI_OK)//選卡成功
{
printf("PcdSelect_MI_OK ");
status=MI_ERR;
status =PcdAuthState(0x60,0x09,KEY,SN);
}
if(status==MI_OK)//驗證成功
{
printf("PcdAuthState_MI_OK ");
status=MI_ERR;
status=PcdRead(0x08,RFID);
}
if(status==MI_OK)//讀卡成功
{
printf("READ_MI_OK \n");
status=MI_ERR;
} |