stm32驱动RC522
- RC522与PN532简介
- 关于STM32驱动方式
- 接线说明
- 程序烧录
- 查看卡号
- 总结
原文链接:https://www.yourcee.com/newsinfo/2924379.html
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调试就到这里了,欢迎随时留言,需要程序或者软件也可以在下方留言喔!