使用stm32驱动RC522读IC卡

在这里插入图片描述

RC522与PN532简介

在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可以用来读写我们之前用的M1的IC卡,并且两款芯片有着同样都是应用于13.56MHz的 非接触式通信芯片等诸多共通之处,查阅网上资料对于两者的区别个人认为RC522属于RFID,而PN532属于NFC,在功能上PN532包含了RC522的所功能(个人愚见),并且对于大部分需要量产使用或者学生党来说另一个比较明显的差异就是价位上的区别,RC522市面上的模块仅需7人民币左右即可买到,而PN532需要23~26人民币,价格上的差距还是比较明显的哈哈,前面有过一篇串口连接电脑使用PN532的文章,有需要的可以参考以前的文章,本期介绍SPI驱动RC522读卡的使用文章!!!

关于STM32驱动方式

我们这里使用的是STM32F103ZET6的板子和RC522的模块连接的,采用的SPI的方式驱动,这里使用C8T6的板子也可以,STM32F103系列的即可,只是需要在程序上稍作修改(参考后文),这里SPI端口选择使用的是STM32的SPI1(为了能兼容更多的板子),下面是我使用的开发板供参考

在这里插入图片描述
下面这款市面上使用的比较多的C8T6板子也可以,价格便宜对于学生党就友好多了哈哈

在这里插入图片描述

接线说明

接下之前先上一张RC522模块的引脚图,方便对比接线

在这里插入图片描述

STM32F103 RC522
3V3 3.3V
PB0 RST
GND GND
不接 IRQ
PA6 MISO
PA7 MOSI
PA5 SCK
PA4 SDA

下面是对于STM32使用端口以及RC522引脚的说明

STM32使用端口

引脚名称 使用功能定义
PB0 普通的GPIO口,用于复位RC522
PA6 SPI1的MISO
PA7 SPI1的MOSI
PA5 SPI1的SCK
PA4 普通的GPIO口,用于RC522的片选端口

RC522引脚说明

引脚名称 功能
3.3V 电源正
RST 复位引脚,高电平有效
GND 地,电源负
IRQ 中断引脚,悬空不使用
MISO SPI协议数据线
MOSI SPI协议数据线
SCK SPI时钟线
SDA SPI片选端口

程序烧录

需要程序可在下方留言邮箱,程序烧录这里使用的ST-LINK,烧录程序前先在MDK里面配置成自己的STM32板子信息
ST-LINK配置
在这里插入图片描述

下面这里请确定SWDIO里面读取到了板子的信息,没有的话建议检查一下接线
在这里插入图片描述

下面的Device Size选择与自己用的板子对应大小的
在这里插入图片描述
另外,如果选择的不是STM32F103ZE的板子的话需要在MDK的魔术棒下面的device中选择自己的芯片,我这里是用的STM32F103ZE所以是选的这个,见下图
在这里插入图片描述

OK,配置好之后我们点击下载
在这里插入图片描述

查看卡号

按照上面的接完线烧完程序之后,看板子上的串口1有无板载USB下载电路,如果板子可以直接插数据线下载程序的话,直接用下载程序的USB口接到电脑上,在设备管理器查看端口号即可,我这块是带下载电路的,如果是板子没有带的话需要用USB-TT转换模块RX接PA9,TX接PA10来通信
设备管理器参考下图

在这里插入图片描述打开之后在端口中查看自己板子的端口号,我这里是COM4

在这里插入图片描述

接下来我们打开一个串口调试软件,将参数配置为115200,N,8,1,这个参数是在程序中定义的,可自行参考修改串口程序,参数设置好打开串口之后我们就可以接收到STM32板子向我们发送的读取的到卡号信息了

在这里插入图片描述

同样的卡刷RC522和PN532读到的卡号相同,验证之后程序读取数据均为正确数据!

总结

STM32驱动RC522读卡号经过例程移植之后开发起来相对来说还是比较快的,长期发布类似文章,欢迎关注,本期RC522调试就到这里了,欢迎随时留言,需要程序或者软件也可以在下方留言喔!

猜你喜欢

转载自blog.csdn.net/qq_42250136/article/details/107832198