|
本帖最后由 bpengj3375 于 2017-7-3 21:31 编辑
最近在用RC522读取复旦FM1208,经过Request,Anticoll,Select,Rats,Getchange,des之后,进行外部认证,发送完00 82 00 00 08 +8字节加密后的随机数,
发现并未返回90 00,也没有返回错误码,读取返回数数据,除了第一字节Pcb变成了一个随机的数,其它仍是和发送前一样,请问我这样的问题出在那?谢谢前辈们指点。。
代码:
PcdSwitchPCB();
ucComMF522Buf[0] = Pcb;
ucComMF522Buf[1] = 0x01;
ucComMF522Buf[2] = 0x00;
ucComMF522Buf[3] = 0x82;
ucComMF522Buf[4] = 0x00;
ucComMF522Buf[5] = 0x00;
ucComMF522Buf[6] = 0x08;
ucComMF522Buf[7] = pRan[0]; //8个字节的随机数
ucComMF522Buf[8] = pRan[1];
ucComMF522Buf[9] = pRan[2];
ucComMF522Buf[10] = pRan[3];
ucComMF522Buf[11] = pRan[4];
ucComMF522Buf[12] = pRan[5];
ucComMF522Buf[13] = pRan[6];
ucComMF522Buf[14] = pRan[7];
CalulateCRC(ucComMF522Buf,15,&ucComMF522Buf[15]); // 生成发送内容的CRC校验,保存到最后两个字节
status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,17,ucComMF522Buf,&unLen);// |
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|