找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6011|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

關(guān)于M1卡的命令字的問題,急求大神講解

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:382067 發(fā)表于 2018-9-3 21:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
//******************************************************************/
//                   Mifare_One卡片命令字                          */
//******************************************************************/
#define PICC_REQIDL               0x26           //尋天線區(qū)內(nèi)未進入休眠狀態(tài)
#define PICC_REQALL               0x52           //尋天線區(qū)內(nèi)全部卡
#define PICC_ANTICOLL1            0x93           //防沖撞
#define PICC_ANTICOLL2            0x95           //防沖撞
#define PICC_AUTHENT1A            0x60           //驗證A密鑰
#define PICC_AUTHENT1B            0x61           //驗證B密鑰
#define PICC_READ                 0x30           //讀塊
#define PICC_WRITE                0xA0           //寫塊
#define PICC_DECREMENT            0xC0           //扣款
#define PICC_INCREMENT            0xC1           //充值
#define PICC_RESTORE              0xC2           //調(diào)塊數(shù)據(jù)到緩沖區(qū)
#define PICC_TRANSFER             0xB0           //保存緩沖區(qū)中數(shù)據(jù)
#define PICC_HALT                 0x50           //休眠


這段命令字都是在哪里看到的啊
查了很多資料,都沒有找到,十分難受


//******************************************************************/
//功    能:防沖撞                                                  /
//參數(shù)說明: pSnr[OUT]:卡片序列號,4字節(jié)                             /
//返    回: 成功返回MI_OK                                           /
//******************************************************************/
char PcdAnticoll(unsigned char *pSnr)
{
    char status;
    unsigned char i,snr_check=0;
    unsigned int  unLen;
    unsigned char ucComMF522Buf[MAXRLEN];

    ClearBitMask(Status2Reg,0x08);
    WriteRawRC(BitFramingReg,0x00);
    ClearBitMask(CollReg,0x80);

    ucComMF522Buf[0] = PICC_ANTICOLL1;
    ucComMF522Buf[1] = 0x20;                                                //這里為啥第二位數(shù)據(jù)是0x20??????

    status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,2,ucComMF522Buf,&unLen);

    if (status == MI_OK)
    {
             for (i=0; i<4; i++)
         {   
             *(pSnr+i)  = ucComMF522Buf[i];
             snr_check ^= ucComMF522Buf[i];
         }
         if (snr_check != ucComMF522Buf[i])
         {   status = MI_ERR;    }
    }

    SetBitMask(CollReg,0x80);
    return status;
}


還有這里的關(guān)于RF522讀卡的防沖撞操作,數(shù)據(jù)幀的格式是什么啊?
急求了解的大神講解,謝謝

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:198728 發(fā)表于 2018-11-14 11:57 | 只看該作者
請參考非接觸式IC卡通訊規(guī)范ISO14443(1~4)應(yīng)該在ISO14443-3  防沖突部分  上面有詳細說明,協(xié)議資料網(wǎng)上比較多 ,自己搜索一下。
回復(fù)

使用道具 舉報

板凳
ID:353654 發(fā)表于 2020-6-15 17:16 | 只看該作者
我也想知道這個問題,找了好久沒找著,你是否搞定了?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表