首页 > 其他分享 >STM32中RFID模块(MFRC522)简单应用

STM32中RFID模块(MFRC522)简单应用

时间:2024-03-30 21:56:52浏览次数:25  
标签:char MFRC522 OK 字节 -------------- RFID unsigned STM32 序列号

1. 前言

​ 此篇只是对RFID模块的简单概述以及应用,没有原理,对提供的店家提供的代码,进行注释,以及简单使用流程

image-20240330211232470

2. 函数

//功    能:寻卡
//参数说明: req_code[IN]:寻卡方式
//                0x52 = 寻感应区内所有符合14443A标准的卡
//                0x26 = 寻未进入休眠状态的卡
//          	  pTagType[OUT]:卡片类型代码
//                0x4400 = Mifare_UltraLight
//                0x0400 = Mifare_One(S50)
//                0x0200 = Mifare_One(S70)
//                0x0800 = Mifare_Pro(X)
//                0x4403 = Mifare_DESFire
//返    回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdRequest(unsigned char req_code,unsigned char *pTagType);

寻卡:感应区域内的所有符合要求的ID卡,并把卡片类型记录在第二个参数中。

//功    能:防冲撞
//参数说明: pSnr[OUT]:卡片序列号,4字节
//返    回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////  
char PcdAnticoll(unsigned char *pSnr);

防冲撞:只读取区域内的一张卡,并把读取卡的卡序列号记录在参数中,前四个字节为卡序列号,第五个字节为校验字节。

//功能描述选卡读取卡存储器容量
//输入参数serNum--传入卡序列号
//返 回 值成功返回卡容量
char PcdSelect(unsigned char *pSnr)

选卡:返回读取卡的的存储器容量

//功能描述验证卡片密码
//输入参数authMode--密码验证模式
//					0x60 = 验证A密钥
//					0x61 = 验证B密钥
//					BlockAddr--块地址
//					Sectorkey--扇区密码
//					serNum--卡片序列号4字节
//返 回 值成功返回MI_OK
char PcdAuthState(unsigned char auth_mode,unsigned char addr,unsigned char *pKey,unsigned char *pSnr)

验证卡片密码:只有通过了验证密码,才能对ID卡进行读写。

//功    能:读取M1卡一块数据
//参数说明: addr[IN]:块地址
//          pData[OUT]:读出的数据,16字节
//返    回: 成功返回MI_OK
///////////////////////////////////////////////////////////////////// 
char PcdRead(unsigned char addr,unsigned char *pData)

eg:读卡

//功    能:写数据到M1卡一块
//参数说明: addr[IN]:块地址
//          pData[IN]:写入的数据,16字节
//返    回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////                  
char PcdWrite(unsigned char addr,unsigned char *pData)

eg:写卡要小心,特别是各区的块3,那个是存放密码的地方

//功    能:命令卡片进入休眠状态
//返    回: 成功返回MI_OK
/////////////////////////////////////////////////////////////////////
char PcdHalt(void)

休眠:节省电能,避免不必要的通信,安全性考虑

3. 接线

image-20240330211410565

3.3v -------------- 3V3

RST --------------

GND -------------- GND

IRQ -------------- 不接

MISO --------------

MOSI --------------

SCK ---------------

SDA(CS)-------------

可以自己找引脚接,然后对引脚进行配置.

4. 简单使用思路

​ 第一次读卡记录卡序列号,这一次的卡序列号作为以后的验证序列号,判断以后读取的卡序列号是否为这个,如果一样,则任务验证成功,也可以写一个函数可以录入新卡号代替第一次的卡号。

5 参考代码

链接:https://pan.baidu.com/s/1rLAGtb4nt9NlJ6_cC2YUEA?pwd=RFID
提取码:RFID

标签:char,MFRC522,OK,字节,--------------,RFID,unsigned,STM32,序列号
From: https://www.cnblogs.com/lyk-23/p/18106085

相关文章

  • 使用 wsl+makefile+clangd编辑stm32代码环境的搭建
    使用wsl+makefile+clangd编辑stm32代码环境的搭建安装wsl环境可以看看下面的文章安装与换源都提及,相信大家可以安装成功的https://www.cnblogs.com/banmei-brandy/p/16218660.html安装make、bear、clangd、arm-none-eabi-gcc、最新的构建库sudoaptinstallmakebearclang......
  • 基于Arduino的RFID智能门禁
    引言RFID(无线射频识别)技术作为现代物联网的重要组成部分,已经广泛应用于门禁、支付、物流等众多领域。本文将带领大家使用Arduino开发板和RFID读写模块,实现RFID卡片的刷卡识别功能。百度网盘链接经过优化后的代码,删掉了没用的那些代码,并且将代码整合到了一个文件中。链接......
  • 【STM32项目】基于STM32多传感器融合的新型智能导盲杖设计(完整工程资料源码)
    基于STM32多传感器融合的新型智能导盲杖设计演示效果基于stm32智能盲杖  前言:      目前,中国盲人数量已突破两千万大关,而城市盲道设计不合理、盲道被非法侵占等危害盲人出行安全的问题屡禁不止[1-3]。随着科技发展,智能盲杖不断涌现,但这些智能盲杖并不智能[4,5]......
  • MCU友好过渡MPU,米尔基于STM32MP135开发板裸机开发应用笔记
    以前微处理器(MPU)与微控制器(MCU)是截然不同的两种设备,MPU支持丰富的软件系统,如Linux和相关的软件堆栈,而MCU通常将专注于裸机和RTOS。近年来,随着MCU的性能越来越高,MCU和MPU之间的区别变得越来越模糊。STM32MP135是一款入门级的高性价比MPU,适用于MCU性能达不到要求或者需要跑Linux的......
  • STM32 串口 DMA 接收不定长数据的一种方法
    1.前言使用串口接收不定长数据时,可以有多种方法,比如最常见的有额外使能一个定时器,在超过定时范围未收到后续的字节时,认为此帧结束;或者利用IDLE中断,当数据空闲时,自动产生中断;亦或每接收到一个字节后都通过应用程序进行一次处理。这次我们介绍另外一种方法,在DMA方式下利......
  • stm32实现舵机速度控制
    一、舵机介绍舵机是一种常用的器件,可以用于机械臂,云台等项目中,通过pwm的占空比来调节实现舵机的旋转角度,所以首先你得会stm32输出pwm波。常用的舵机有90度舵机,180度舵机,270度舵机和360度舵机,根据你的需求来选择舵机的种类,注意一点就是360度舵机控制不了旋转角度。同时如果想要......
  • stm32f103c8t6学习笔记(学习B站up江科大自化协)-DMA
    DMA简介    ·DMA主要用于协助CPU完成数据转运的工作    ·DMA,英文全称DirectMemoryAccess,DMA这个外设是可以直接访问STM32内部存储器的,包括运行内存SRAM,程序存储器flash和寄存器等等,DMA都有权限访问,所以DMA能完成数据转运的工作    ·第二行的外......
  • STM32收发HEX数据包
            在实际应用中,STM32的串口通信都是以数据包格式进行收发,这个数据包一般都包含包头和包尾,表示一个数据包。源代码在文末给出数据包格式:固定长度,含包头包尾可变包长,含包头包尾问题1:当数据包传输时,里面有数据与包头包尾重复怎么办?1:设置限幅,包头包尾设置为数......
  • 02-基于STM32F407MAC与DP83848实现以太网通讯六(IPerf网络速度测试)
    一、IPerf2网络测试工具Iperf2是一个用于测试网络带宽的工具。它是Iperf的旧版本,专注于提供基本的带宽测量功能。通过在客户端和服务器之间发送测试数据流并测量其性能,用户可以评估网络连接的速度和稳定性。Iperf2提供了一种简单而有效的方式来评估网络性能。IPerf3已经发布了,但......
  • 【STM32】Gpio通用输入输出功能应用笔记
    文章目录一、前言1.1开发环境1.2GPIO电路原理1.3板卡电路原理1.3.1按键电路原理1.3.2Led电路原理1.3.3Beep电路原理二、功能实现2.1配置STM32Cubemx工程2.2KeilMDK工程编码2.2.1按键功能代码2.2.2LED灯功能代码2.2.3Beep功能代码2.2.4Main函数代码2.2.5K......