本项目介绍了一种使用STM32 F103微控制器与RFID-RC522模块实现的简易卡片读写功能,适用于学习和开发基于RFID技术的应用。
开发板:正点原子 STM32F103 精英版
语言:C语言
开发环境:Keil5
硬件模块:
- LED
- SPI
- USART
- RFID-RC522 模块
- 钥匙扣卡 (M1 卡)
软件工具:
- Win10 软件 SSCOM 串口调试、FlyMcu 烧录(电脑需安装 CH340 驱动)
- 安卓软件 NFC Writer (手机需具备 NFC 功能)
功能介绍:
程序流程如下:
1. 寻卡
2. 防冲撞
3. 选卡
4. 验证第2扇区密钥
5. 读取第2扇区0区块数据
6. 写入数据到第2扇区0区块
7. 再次读取第2扇区0区块数据
串口打印内容包括:
- 卡片UID
- 验证结果
- 第2扇区0区块的数据
注意:
只有验证成功的扇区,才能进行读写操作。另外,3区块的密钥A在单片机上读取为全 00,在手机上则显示为全 ff。
一、使用 NFC Writer 软件读取空卡内容
1. 打开软件并开启 NFC 功能
2. 将空白卡片贴于手机背部,等待发现新卡提示,点击“好的”
3. 左滑至新卡片页面,单击该卡片
4. 查看详细信息
钥匙扣卡和 M1 卡除了卡号和卡号异或值不同外,其他数据完全一致。以下示例将使用钥匙扣卡作为参考。