1. 前言
此篇只是对RFID模块的简单概述以及应用,没有原理,对提供的店家提供的代码,进行注释,以及简单使用流程
2. 函数
//功 能:寻卡
//参数说明: 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)
休眠:节省电能,避免不必要的通信,安全性考虑
3. 接线
3.3v -------------- 3V3
RST --------------
GND -------------- GND
IRQ -------------- 不接
MISO --------------
MOSI --------------
SCK ---------------
SDA(CS)-------------
可以自己找引脚接,然后对引脚进行配置.
4. 简单使用思路
第一次读卡记录卡序列号,这一次的卡序列号作为以后的验证序列号,判断以后读取的卡序列号是否为这个,如果一样,则任务验证成功,也可以写一个函数可以录入新卡号代替第一次的卡号。
5 参考代码
链接:https://pan.baidu.com/s/1rLAGtb4nt9NlJ6_cC2YUEA?pwd=RFID
提取码:RFID