标题: 关于RC522模块 stm32单片机读取ic卡内部数据的问题 [打印本页]

作者: 夏天的风1    时间: 2017-4-30 11:17
标题: 关于RC522模块 stm32单片机读取ic卡内部数据的问题
rc522读卡器模块在stc89c51上实现读写数据在串口助手上显示,读出来的数据为什么都是第一个扇区的?
部分代码:
/////////////////////////////////////////////////////////////////////
//功    能:读取M1卡一块数据
//参数说明: addr[IN]:块地址
//          pData[OUT]:读出的数据,16字节
//返    回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRead(unsigned char addr,unsigned char *pData)
{
    char status;
    unsigned int  unLen;
    unsigned char i,ucComMF522Buf[MAXRLEN];

    ucComMF522Buf[0] = PICC_READ;
    ucComMF522Buf[1] = addr;
    CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf[2]);
   
    status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen);
    if ((status == MI_OK) && (unLen == 0x90))
//   {   memcpy(pData, ucComMF522Buf, 16);   }
    {
        for (i=0; i<16; i++)
        {    *(pData+i) = ucComMF522Buf;   }
    }
    else
    {   status = MI_ERR;   }
   
    return status;
}

作者: maidezhu    时间: 2017-5-1 20:30
我最近我在搞这个。楼主可以的话一起来谈谈。
作者: Johnny-_-    时间: 2018-1-17 09:54
status = PcdRead(add,Card_Data);
add: 是地址,建议外部传入 计算好的地址比如
add = sector*4+block;  //add = 扇区号*4+块几;
则读出的数据就会存入传入的Card_Data数组中
作者: 星月star_moons    时间: 2018-1-31 21:04
Johnny-_- 发表于 2018-1-17 09:54
status = PcdRead(add,Card_Data);
add: 是地址,建议外部传入 计算好的地址比如
add = sector*4+block;   ...

非常感谢,我也正好想不出来这个问题




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1