原文链接:https://www.yourcee.com/newsinfo/2924379.html
在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可以用来读写我们之前用的M1的IC卡,并且两款芯片有着同样都是应用于13.56MHz的 非接触式通信芯片等诸多共通之处,查阅网上资料对于两者的区别个人认为RC522属于RFID,而PN532属于NFC,在功能上PN532包含了RC522的所功能(个人愚见),并且对于大部分需要量产使用或者学生党来说另一个比较明显的差异就是价位上的区别,RC522市面上的模块仅需7人民币左右即可买到,而PN532需要23~26人民币,价格上的差距还是比较明显的哈哈,前面有过一篇串口连接电脑使用PN532的文章,有需要的可以参考以前的文章,本期介绍SPI驱动RC522读卡的使用文章!!!
我们这里使用的是STM32F103ZET6的板子和RC522的模块连接的,采用的SPI的方式驱动,这里使用C8T6的板子也可以,STM32F103系列的即可,只是需要在程序上稍作修改(参考后文),这里SPI端口选择使用的是STM32的SPI1(为了能兼容更多的板子),下面是我使用的开发板供参考
接下之前先上一张RC522模块的引脚图,方便对比接线
下面是对于STM32使用端口以及RC522引脚的说明
STM32使用端口
RC522引脚说明
按照上面的接完线烧完程序之后,看板子上的串口1有无板载USB下载电路,如果板子可以直接插数据线下载程序的话,直接用下载程序的USB口接到电脑上,在设备管理器查看端口号即可,我这块是带下载电路的,如果是板子没有带的话需要用USB-TT转换模块RX接PA9,TX接PA10来通信
设备管理器参考下图
接下来我们打开一个串口调试软件,将参数配置为115200,N,8,1,这个参数是在程序中定义的,可自行参考修改串口程序,参数设置好打开串口之后我们就可以接收到STM32板子向我们发送的读取的到卡号信息了
同样的卡刷RC522和PN532读到的卡号相同,验证之后程序读取数据均为正确数据!