|
使用523读取TYPEA卡成功,读身份证时寻卡都没有成功,网上找的资料说先发05 00 00,收到回应后发送0×1d 0×00 0×00 0×00 0×00 0×00 0×08 0×01 0×08 ,最后发送0×00 0×36 0×00 0×00 0×08我是这样做的,但是第一步就没有成功,所以想大家请教。
unsigned char RequestB[5]={0X05,0X00,0X00,0x71,0xFF};
unsigned char Attrib[11]={0X1d,0X00,0X00,0X00,0X00,0X00,0X08,0X01,0X08,0xF3,0x10};
unsigned char ReadUID[7]={0x00,0x36,0x00,0x00,0x08,0x57,0x44};
寄存器配置如下:
ClearBitMask(Status2Reg,0x08);
WriteRawRC(TxASKReg, 0); // Force 100ASK = 0
WriteRawRC(ControlReg,0x10) ;
WriteRawRC(TxModeReg,0x03) ;
WriteRawRC(RxModeReg,0x0B) ;
WriteRawRC(TypeBReg,0x03) ;
WriteRawRC(DemodReg,0x4D) ;
WriteRawRC(GsNReg,0xff) ; // TX输出电导设置
WriteRawRC(CWGsPReg,0x3f) ;
WriteRawRC(ModGsPgReg,0x18) ;// 调制指数设置RegModGsp,, TYPEB ModConductance 0x1A
WriteRawRC(RxThresholdReg, 0x4D);// 高四位->最小信号强度,低三位->冲突最小信号
WriteRawRC(ModWidthReg,0x68) ;
ClearBitMask(RxSelReg,0x3F); // TR0
SetBitMask(RxSelReg, 0x08);
ClearBitMask(TxModeReg, 0x80); // 无CRC,无奇偶校验
ClearBitMask(RxModeReg, 0x80);
ClearBitMask(Status2Reg, 0x08);
寻卡函数:
char PcdRequestB(unsigned char *ucComMF522Buf)
{
char status ;
unsigned int unLen ;
ClearBitMask(Status2Reg,0x08) ;
WriteRawRC(BitFramingReg,0x07) ;
SetBitMask(TxControlReg,0x03) ;
ucComMF522Buf[0] =0x05 ;
ucComMF522Buf[1] =0;
ucComMF522Buf[2] =0;
ucComMF522Buf[3] =0x71;
ucComMF522Buf[4] =0xFF;
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,5,ucComMF522Buf,&unLen );
return status ;
}
选卡函数:
char PcdSelectB(unsigned char *pSnr)
{
char status;
unsigned char i;
unsigned int unLen;
unsigned char ucComMF522Buf[MAXRLEN];
for (i=0; i<11; i++)
{
ucComMF522Buf[i] = *(pSnr+i);
}
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,11,ucComMF522Buf,&unLen);
return status;
}
获得UID函数:
char PcdReadUID(unsigned char *pSnr,unsigned char *pTagType)
{
char status;
unsigned char i;
unsigned int unLen;
unsigned char ucComMF522Buf[MAXRLEN];
for (i=0; i<7; i++)
{
ucComMF522Buf[i] = *(pSnr+i);
}
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,7,ucComMF522Buf,&unLen);
if ((status == MI_OK) )
{
for (i=0; i<10; i++)
{
*(pTagType+i) = ucComMF522Buf[i];
}
status = MI_OK;
}
else
{ status = MI_ERR; }
return status;
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
你所害怕的每一个鬼,都是别人朝思暮想却再也见不到的人。
|