我是靠谱客的博主 糟糕蜻蜓,最近开发中收集的这篇文章主要介绍IC卡读写模块(MFRC522) 简介调试&QT实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

1. 前言

2. 相关知识

3. 基础调试

4. QT实现


1. 前言

本例主要讲解MFRC522和IC卡的相关知识,以及其基础调试(检测模块的可用性),QT实现的已公开源码解析。

 

2. 相关知识

2.1 MFRC522简介

MFRC522是非接触式读写模块,可以理解为IC卡读写模块,常见的使用场景如门禁等

只支持3种通讯方式:①SPI、②I2C、③UART

2.2 S50/S70(IC卡)简介

S50/S70卡,就是常说的IC卡,即MFRC522模块扫描识别的卡。模块主要性能:

①分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,一般将16个扇区的64个块按绝对地址编号为0~63,相关操作也按绝对地址编号操作

②第0扇区的块0,即绝对地址0块,存放厂商代码,已经固化不能更改

③每个扇区的块0/1/2为数据块,可以进行读写操作;块3为控制块

2.3 工作原理

读写器(MFRC522模块)向IC卡发一组固定频率的电磁波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据

 

3. 基础调试

电路图:

MFRC522模块,出厂默认为SPI的。如果是使用SPI接口协议,就无需改动;如果使用URAT和I2C,就需要把相应管脚变动。

我下面使用UART接口调试,所以要把R5管脚接地,调试直接把EN管脚焊掉就行了。建议用SPI。

 

基础调试是在Windows下,利用Rc52x PcSerial 2.1软件来测试模块的可使用行。

(1)准备的物品有:

①USB转TTL模块    ②MFRC522模块    ③S50/S70卡(IC卡/白卡)

(2)USB转TTL模块与MFRC522连接图

(3)测试步骤

先把RFID卡放到MFRC522的天线区。

打开Rc52x PcSerial 2.1软件,打开菜单栏的【Port】->【Setting】,选择USB转TTL相应的串口后,点击[Verify],显示OK,然后点击[Apply]。默认波特率9600

在界面上点击Open,再点击Select JCF,选择文件夹中的mifare_reader_invert.jcf文件,在点击Process JCF

具体返回信息看软件文档。简单点说如果没反正ERROR,就是识别成功了。

 

4. QT实现

基础流程:(建议改为如下,公开的源码只执行一次,非循环)

 

主要用到的函数有以下:

PcdReset(...)            //复位RC522
PcdAntennaOn(...)        //开启天线
PcdAntennaOff(...)       //关闭天线
PcdRequest(...)          //寻卡方式
PcdAnticoll(...)         //防冲撞
PcdSelect(...)           //选定卡片
PcdAuthState(...)        //验证卡片密码
PcdRead(...)             //读取M1卡一块数据
PcdWrite(...)            //写数据到M1卡一块
PcdValue(...)            //扣款和充值
PcdBakValue(...)         //备份钱包
PcdHalt(...)             //命令卡片进入休眠状态
PcdComMF522(...)         //通过RC522和ISO14443卡通讯
CalulateCRC(...)         //计算CRC16函数
WriteRawRC(..)           //写RC632寄存器
ReadRawRC(..)            //读RC632寄存器
SetBitMask(..)           //置RC522寄存器位
ClearBitMask(..)         //清RC522寄存器位

通过函数的配合调用,来实现相应的功能。

只提供网络上已公开的源码(需按自己的需要改动,本人源码因公司机密不能提供):

基础流程在mainwindow里实现,驱动在mfrc522类里实现。

需要特别注意就是写和读寄存器的方式,按照你项目需要,是UART,SPI还是I2C改动。

界面如下,基础的卡读写操作都有:

 

链接:https://pan.baidu.com/s/1cQuQGWtj0HDk4vodAvQ5lw 
提取码:t8d6 
复制这段内容后打开百度网盘手机App,操作更方便哦

最后

以上就是糟糕蜻蜓为你收集整理的IC卡读写模块(MFRC522) 简介调试&QT实现的全部内容,希望文章能够帮你解决IC卡读写模块(MFRC522) 简介调试&QT实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部