# 前言
## 特别声明:
- 本仓库发布的程序,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。
- 本人对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害。
- 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, 本人对于由此引起的任何隐私泄漏或其他后果概不负责。
- 任何以任何方式查看此项目的人或直接或间接使用该项目的任何程序的使用者都应仔细阅读此声明。本人保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或Script项目的规则,则视为您已接受此免责声明。
本文不含任何广告性质,仅供学习参考。**写卡**需谨慎!!!,不然可能会玩崩了。血的教训!!!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422124412824.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
参考资料:
[浅谈IC卡数据分析](https://blog.csdn.net/hiwoshixiaoyu/article/details/104048663)
[智能卡 ISO14443 协议 解读](https://blog.csdn.net/wowocpp/article/details/79910800)
[STM32F103ZET--RFID-RC522使用例程(战舰版)](https://blog.csdn.net/qq_28877125/article/details/80437095)
[M1卡使用说明书](https://wenku.baidu.com/view/50f8bff17c1cfad6195fa712.html)
[M1卡介绍](https://www.cnblogs.com/ivantang/p/3904025.html)
[STM32-RC522](http://www.pudn.com/Download/item/id/2857485.html)
源码参考:[RFID-RC522](http://www.pudn.com/Download/item/id/3930282.html),不能使用,我进行了一定的修改。下载参考下方传送门。
开发板:正点原子 STM32F103 精英版
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421155946240.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
语言:C语言
开发环境:Keil5
**开发板**使用了 LED SPI USART RFID-RC522模块 钥匙扣卡 M1卡
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421160054898.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421160217759.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
**Win10软件** SSCOM串口调试 FlyMcu烧录(ps:电脑安装驱动CH340)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021042116032014.png)
**安卓软件** NFC Writer (手机需有NFC功能)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421160359827.jpg)
## 代码下载:
[码云](https://gitee.com/ikaros-521/STM32_RFID-RC522_ReadWrite_card_demo) [GitHub](https://github.com/Ikaros-521/STM32_RFID-RC522_ReadWrite_card_demo)
## 功能介绍:
寻卡-》防冲撞-》选卡-》验证2扇区密钥-》读取2扇区0区块数据-》写入数据到2扇区0区块-》再读取2扇区0区块数据。
串口打印卡UID,验证结果,读取到的2扇区0区块数据等信息。
**注意**:只有验证成功的扇区,才能对此扇区进行读写操作!
```c
// 验证A密钥 块地址 密码 SN
// 注意:此处的块地址0x0B即2扇区3区块,此块地址只需要指向某一扇区就可以了,
// 即2扇区为0x08-0x0B这个范围都有效,且只能对验证过的扇区进行读写操作
status = PcdAuthState(0x60, 0x0B, KEY_A, SN);
// 读取M1卡一块数据 块地址 读取的数据
// 注意:因为上面验证的扇区是2扇区,所以只能对2扇区的数据进行读写,即0x08-0x0B这个范围,
// 超出范围读取失败。
status = PcdRead(0x08, DATA);
```
另外:不知为何,3区块的密钥A单片机读取出来是全00,手机是全ff
# 接线
```javascript
1--SDA <----->PA4
2--SCK <----->PA5
3--MOSI <----->PA7
4--MISO <----->PA6
5--悬空
6--GND <----->GND
7--RST <----->PB0
8--VCC <----->VCC
```
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421161954109.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
## STM32
### STM32F1开发指南(精英版)-库函数版本_V1.2
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421170032803.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
### STM32中文参考手册
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421165656116.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421165747239.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
## RFID-RC522
参考:[https://www.cirmall.com/circuit/2149/](https://www.cirmall.com/circuit/2149/)
### RFID射频模块电路原理图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421170353601.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
# 使用图+效果图
## 测试程序0 RC522_Handle()
### 最终效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422102505547.gif#pic_center)
### 一、先用手机软件NFC Writer读取空卡看看内容
#### 1、打开软件和NFC(ps:我的手机是小米10)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421162424273.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
#### 2、将空卡贴于手机背部,弹出提示发现新卡,点击“好的”
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421162505838.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
#### 3、上面的新卡片左滑到新卡片1,单击这个卡片
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421162538853.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
#### 4、进入卡片信息详细页面
##### 钥匙扣卡
![在这里插入图片描述](https://img-blog.csdnimg.cn/202104211627247.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
##### M1空白卡
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421162944336.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
可以发现2张卡除了卡号和卡号异或值不同外,其他数据都一样,之后的例子都以**钥匙扣卡**举例。
下图参考:[https://blog.csdn.net/hiwoshixiaoyu/article/details/104048663](https://blog.csdn.net/hiwoshixiaoyu/article/details/104048663)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421162823909.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0lrYXJvc181MjE=,size_16,color_FFFFFF,t_70)
### 二、编译、烧写程序
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421163244266.png?x-oss-process=image/water
没有合适的资源?快使用搜索试试~ 我知道了~
stm32 F103+RFID-RC522模块 基于stm32实现简单读卡写卡demo
共193个文件
c:37个
h:37个
d:22个
需积分: 2 3 下载量 62 浏览量
2024-03-02
22:36:04
上传
评论 2
收藏 6.09MB ZIP 举报
温馨提示
开发板:正点原子 STM32F103 精英版 语言:C语言 开发环境:Keil5 开发板使用了 LED SPI USART RFID-RC522模块 钥匙扣卡 M1卡 Win10软件 SSCOM串口调试 FlyMcu烧录(ps:电脑安装驱动CH340) 安卓软件 NFC Writer (手机需有NFC功能) 功能介绍: 寻卡-》防冲撞-》选卡-》验证2扇区密钥-》读取2扇区0区块数据-》写入数据到2扇区0区块-》再读取2扇区0区块数据。 串口打印卡UID,验证结果,读取到的2扇区0区块数据等信息。 注意:只有验证成功的扇区,才能对此扇区进行读写操作! 另外:不知为何,3区块的密钥A单片机读取出来是全00,手机是全ff 一、先用手机软件NFC Writer读取空卡看看内容 1、打开软件和NFC(ps:我的手机是小米10) 2、将空卡贴于手机背部,弹出提示发现新卡,点击“好的” 3、上面的新卡片左滑到新卡片1,单击这个卡片 4、进入卡片信息详细页面 钥匙扣卡 可以发现2张卡除了卡号和卡号异或值不同外,其他数据都一样,之后的例子都以钥匙扣卡举例。
资源推荐
资源详情
资源评论
收起资源包目录
stm32 F103+RFID-RC522模块 基于stm32实现简单读卡写卡demo (193个子文件)
SPI.uvguix.Administrator 85KB
SPI.axf 327KB
SPI.uvguix.Administrator.bak 84KB
keilkilll.bat 372B
stm32f10x_tim.c 104KB
stm32f10x_flash.c 59KB
stm32f10x_rcc.c 49KB
stm32f10x_adc.c 45KB
stm32f10x_i2c.c 43KB
stm32f10x_can.c 43KB
rc522.c 42KB
stm32f10x_usart.c 36KB
system_stm32f10x.c 35KB
stm32f10x_fsmc.c 34KB
stm32f10x_spi.c 29KB
stm32f10x_dma.c 28KB
stm32f10x_sdio.c 27KB
stm32f10x_gpio.c 22KB
stm32f10x_dac.c 18KB
core_cm3.c 16KB
usmart.c 15KB
stm32f10x_cec.c 11KB
usmart_str.c 11KB
stm32f10x_pwr.c 8KB
stm32f10x_rtc.c 8KB
stm32f10x_bkp.c 8KB
delay.c 7KB
misc.c 7KB
stm32f10x_exti.c 7KB
stm32f10x_wwdg.c 5KB
stm32f10x_dbgmcu.c 5KB
usart.c 5KB
stm32f10x_iwdg.c 5KB
spi.c 3KB
stm32f10x_crc.c 3KB
stm32f10x_it.c 2KB
usmart_config.c 2KB
main.c 1KB
sys.c 839B
led.c 753B
beep.c 556B
SPI.uvguix.ChenJH 135KB
config 360B
lcd.crf 375KB
rc522.crf 363KB
stm32f10x_tim.crf 362KB
rc522_1.crf 359KB
main.crf 351KB
w25qxx.crf 351KB
stm32f10x_rcc.crf 348KB
usart.crf 347KB
stm32f10x_usart.crf 346KB
stm32f10x_fsmc.crf 346KB
stm32f10x_spi.crf 345KB
stm32f10x_gpio.crf 344KB
key.crf 342KB
spi.crf 342KB
system_stm32f10x.crf 342KB
delay.crf 342KB
led.crf 341KB
sys.crf 341KB
misc.crf 341KB
stm32f10x_it.crf 340KB
core_cm3.crf 4KB
stm32f10x_usart.d 2KB
rc522_1.d 2KB
stm32f10x_fsmc.d 2KB
stm32f10x_gpio.d 2KB
stm32f10x_rcc.d 2KB
stm32f10x_tim.d 2KB
stm32f10x_spi.d 2KB
system_stm32f10x.d 2KB
rc522.d 2KB
stm32f10x_it.d 2KB
main.d 2KB
usart.d 2KB
delay.d 2KB
misc.d 2KB
spi.d 2KB
led.d 2KB
sys.d 1KB
core_cm3.d 99B
startup_stm32f10x_hd.d 62B
key.d 0B
w25qxx.d 0B
lcd.d 0B
RC522_STM32F103ZE.dbgconf 7KB
SPI_RC522.dep 32KB
SPI_SPI.dep 30KB
description 73B
exclude 240B
stm32f10x.h 611KB
core_cm3.h 82KB
stm32f10x_tim.h 50KB
stm32f10x_rcc.h 29KB
stm32f10x_i2c.h 29KB
stm32f10x_can.h 26KB
stm32f10x_fsmc.h 26KB
stm32f10x_flash.h 24KB
stm32f10x_sdio.h 21KB
共 193 条
- 1
- 2
资源评论
进击的代码家
- 粉丝: 2748
- 资源: 204
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功