初级会员

- 积分
- 120
- 金钱
- 120
- 注册时间
- 2015-11-13
- 在线时间
- 17 小时
|
5金钱
第一次做东西,做一个关于射频卡一类的东西,支持读和写就行了,现在想找到点读写的程序看看,求指导
//PcdAuthState为验证卡片密码函数名,ucAuth_mode密码验证模式,ucAddr为块地址,pKey为密码,pSnr为卡片序列号
char PcdAuthState ( u8 ucAuth_mode, u8 ucAddr, u8 * pKey, u8 * pSnr )
{
char cStatus;
u8 uc, ucComMF522Buf [ MAXRLEN ];
u32 ulLen;
ucComMF522Buf [ 0 ] = ucAuth_mode;
ucComMF522Buf [ 1 ] = ucAddr;
for ( uc = 0; uc < 6; uc ++ )
ucComMF522Buf [ uc + 2 ] = * ( pKey + uc );
for ( uc = 0; uc < 6; uc ++ )
ucComMF522Buf [ uc + 8 ] = * ( pSnr + uc );
cStatus = PcdComMF522 ( PCD_AUTHENT, ucComMF522Buf, 12, ucComMF522Buf, & ulLen );
if ( ( cStatus != MI_OK ) || ( ! ( ReadRawRC ( Status2Reg ) & 0x08 ) ) )
cStatus = MI_ERR;
return cStatus;
}
第一个问题是,RC522有64个块,他们每个块的密码都是一样的吗?一开始他们的密码是已知?如果我要修改密码,就必须密码验证,但是我不知道原始密码怎么办,能读取出来吗?PcdRead(5,RFID); 5是块地址,RFID是char数组。
|
|