此篇只是对RFID模块的简单概述以及应用,没有原理,对提供的店家提供的代码,进行注释,以及简单使用流程 。
//功 能:寻卡
//参数说明: req_code[IN]:寻卡方式
// 0x52 = 寻感应区内所有符合14443A标准的卡
// 0x26 = 寻未进入休眠状态的卡
// pTagType[OUT]:卡片类型代码
// 0x4400 = Mifare_UltraLight
// 0x0400 = Mifare_One(S50)
// 0x0200 = Mifare_One(S70)
// 0x0800 = Mifare_Pro(X)
// 0x4403 = Mifare_DESFire
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRequest(unsigned char req_code,unsigned char *pTagType);
寻卡:感应区域内的所有符合要求的ID卡,并把卡片类型记录在第二个参数中.
//功 能:防冲撞
//参数说明: pSnr[OUT]:卡片序列号,4字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdAnticoll(unsigned char *pSnr);
防冲撞:只读取区域内的一张卡,并把读取卡的卡序列号记录在参数中,前四个字节为卡序列号,第五个字节为校验字节.
//功能描述选卡读取卡存储器容量
//输入参数serNum--传入卡序列号
//返 回 值成功返回卡容量
char PcdSelect(unsigned char *pSnr)
选卡:返回读取卡的的存储器容量 。
//功能描述验证卡片密码
//输入参数authMode--密码验证模式
// 0x60 = 验证A密钥
// 0x61 = 验证B密钥
// BlockAddr--块地址
// Sectorkey--扇区密码
// serNum--卡片序列号4字节
//返 回 值成功返回MI_OK
char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr)
验证卡片密码:只有通过了验证密码,才能对ID卡进行读写.
//功 能:读取M1卡一块数据
//参数说明: addr[IN]:块地址
// pData[OUT]:读出的数据,16字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRead(unsigned char addr,unsigned char *pData)
eg:读卡 。
//功 能:写数据到M1卡一块
//参数说明: addr[IN]:块地址
// pData[IN]:写入的数据,16字节
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdWrite(unsigned char addr,unsigned char *pData)
eg:写卡要小心,特别是各区的块3,那个是存放密码的地方 。
//功 能:命令卡片进入休眠状态
//返 回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdHalt(void)
休眠:节省电能,避免不必要的通信,安全性考虑 。