S50卡无法读出卡密

2019-07-20 06:51发布

/*S50卡的选卡
*/        
                                if(PcdSelect(card_1)==MI_OK)
                                        {

                                                printf ( "选卡OK " );

                                                if(PcdAuthState(PICC_AUTHENT1A,Block,Default_Key,Card_ID)==MI_OK)
                                                {
                                                        //进不到这个里面
                                                }        
                                        }

前面的寻卡、防冲撞和选卡都成功了

Default_Key//unsigned char Default_Key[6]={0xff,0xff,0xff,0xff,0xff,0xff};//初始密码

Block//选择了7
扇区1的块3-- 密码A   存取控制   密码B--控制块7          

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
songsiming27
2019-07-20 11:09
char PcdAuthState(u8   auth_mode,u8   addr,u8 *pKey,u8 *pSnr)
{
    char   status;
    u8   unLen;
    u8   ucComMF522Buf[MAXRLEN];

    ucComMF522Buf[0] = auth_mode;  
    ucComMF522Buf[1] = addr;
    memcpy(&ucComMF522Buf[2], pKey, 6);   //
    memcpy(&ucComMF522Buf[8], pSnr, 4);
   
    status = PcdComMF522(PCD_AUTHENT,ucComMF522Buf,12,ucComMF522Buf,&unLen);
    if ((status != MI_OK) || (!(ReadRawRC(Status2Reg) & 0x08)))
    {   status = MI_ERR;   }
   
    return status;
}
对比一下   或者你的不是新卡 密码被改过了

一周热门 更多>