STM32/51单片机实训day4——RFID数据读取|RC522|串口数据收发、可模拟RFID (三) 仿真

article/2025/8/22 23:26:53

目录

1 任务指导

2 实验步骤

3 串口调试

4 USART配置

5 fputs函数重写


内  容:能够读取RFID卡S50的ID——编程实现串口数据收发

学  时:3学时

知识点:电路图设计、USART配置  

重点: USART配置

难点:USART配置

时间:2022年12月22日 13:30~16:20 

1 任务指导

使用MFRC522读卡器读取S50卡的ID号,并显示在12864液晶上。

2 实验步骤

MFRC522读卡器和开发板的硬件接线,如图1-2所示,上图为电路图,下图为实物图。

图1-1 MFRC522硬件电路

图1-2  MFRC522读卡器电路图和实物图 

读卡器和开发板进行连接,连接方式如图1-3所示。

图1- 3  读卡器与开发板连接方式

MFRC522是高度集成非接触式(13.56MHz)读卡芯片。此发送模块利用调制和解调的原理,并将它们完全集成到各种非接触式通信方法和协议中。

MFRC522的发送模块支持ISO 14443A/MIFARE协议

MFRC522的内部发送器部分可以驱动读卡器天线与ISO 14443A/MIFARE卡和应答机的通信,无需其他的电路。接收器部分提供一个功能强大和高效的解调和译码电路,用来处理兼用ISO 1443A/MIFARE的卡和应答机的信号。数字电路部分处理完整的ISO1443A/MIFARE帧和错误检测。MFRC522支持MFARE更高速的非接触式通信,双向数据传输速率高达424Kbit/s。可以实现各种不同主机接口的功能:

(1)SPI接口

(2)串行UART接口

(3)I2C接口

不同类型的接口连接方法如图1-4所示。

 图1-4 不同类型接口的连接方法

开发板有专门的SPI接口,用于外接MFRC522。所以,本实验采用的是SPI接口,如图1-1所示。关于MFRC522的详细资料可以参考MFRC522中文手册。

软件实现步骤。下图1-5是读写流程。

图1-5 读写流程 

3 串口调试

为了模拟RFID数据通讯添加串口输出数据电路,通过查询数据手册,确定PA9引脚对应有USART1_TX(发送)功能。在proteus中添加虚拟终端,将虚拟终端的RXD(接收)引脚接与单片机引脚PA9连接。电路设计如图4。

图4 串口输出数据电路设计 

4 USART配置

在main.c中编写USART的配置函数,调用库函数配置USART相关参数,在配置参数之前,需要调用时钟使能函数对GPIOA、AFIO、USART的端口时钟进行使能。GPIO_InitTypeDef及USART_InitTypeDef结构体包含了GPIO和USART所需配置的参数,因此参数配置主要是调用GPIO_InitTypeDef及USART_InitTypeDef对其内部的元素进行配置。代码如下:

void usart_init(void)
{
GPIO_InitTypeDef  GPIO_InitStruct;
USART_InitTypeDef USART_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO | RCC_APB2Periph_USART1, ENABLE);// PA9 -> Tx
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStruct);// USART
USART_InitStruct.USART_BaudRate = 9600;
USART_InitStruct.USART_WordLength = USART_WordLength_8b;
USART_InitStruct.USART_Parity = USART_Parity_No;
USART_InitStruct.USART_StopBits = USART_StopBits_1;
USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStruct.USART_Mode = USART_Mode_Tx;
USART_Init(USART1, &USART_InitStruct);USART_Cmd(USART1, ENABLE);}

5 fputs函数重写

重写串口发送函数,代码如下:

int fputc(int ch, FILE *f)
{
USART_SendData(USART1, (uint8_t)ch);
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) != 1);return ch;
}


http://chatgpt.dhexx.cn/article/3hQou1Pc.shtml

相关文章

Arduino文档阅读笔记-RFID工作原理及RC522模块介绍

RFID工作原理 RFID(Radio Frequency Identification):无线射频识别 RFID由2个部分组成:应答器/标签被贴在某个物体上的东东。无线接收器用于读取应答器/标签上的数据。 读卡器由频射模块及高平磁场组成。Tag/应答器为待感应设备…

Arduino教程 RFID-RC522读IC卡门禁原理及破解防御

【文章特色:1、提出IC卡破解原理和简单有效的防御方法2、网上其他文章对于硬件如何接线说得模糊不清】 1、序言 先说下简单门禁系统的原理: (1)IC卡激活:门禁卡管理员将卡片放到读卡器、这时软件读取到IC卡的UID序列号信息(相当于身份证号…

51单片机驱动RC522模块

最近在某宝上买了一块RC522模块,试玩了下,读写卡正常。想学习使用新的东西时,有必要了解它的工作原理和工作过程,不清楚或者不知道的可以参考相关数据手册和参考文献,在这里为了节省自己的时间,我只对我的5…

基础篇010.1 STM32驱动RC522 RFID模块之一:基础知识

目录 1. RFID概述 1.1 RFID工作原理 1.2 RFID分类 1.3 RFID模块 1.4 RFID卡片 1.5 IC卡和ID卡介绍 1.6 IC卡和ID的区分 2. Mifare卡结构原理 2.1 Mifare卡概述 2.2 Mifare非接触式 IC 卡性能简介(M1) 2.2.1 Mifare S50与Mifare S70 2.2.2 S5…

RC522

该文为摘抄其他文章内容,主要为RC500书籍.pdf. 1. 通讯标准 1.1 RFID卡标准: 1.2 ISO/IEC 14443通讯标准: 2. 读写器 3. 卡 3.1 mifare 1卡 3.1.1 Mifare 1硬件结构: ① 射频接口:在 RF 射频接口电路中,包…

arduino rc522模块使用

rfid IC卡 先了解IC卡一些前置知识。 首先我们会有一张ic卡(M1类型IC卡,一般买到的都是1K存储空间),在rc522代码中会出现这个,就是对IC卡进行检查PICC_TYPE_MIFARE_4K和PICC_TYPE_MIFARE_1K就是一种卡片类型不同大小…

RC522线圈设计及相关参数的选定

RC522线圈设计及相关参数的选定 LC低通滤波电路(蓝色区域)NFC天线电路(绿色区域)匹配电路(黄色区域)品质因子阻抗匹配 接收电路(浅黄色区域)TGND的疑问 LC低通滤波电路(蓝色区域) TX1、TX2为载波发送引脚。…

基础篇010.2 STM32驱动RC522 RFID模块之二:STM32硬件SPI驱动RC522

目录 1. 实验硬件及原理图 1.1 RFID硬件 1.2 硬件原理图 2. 单片机与RFID硬件模块分析 3. 利用STM32CubeMX创建MDK工程 3.1 STM32CubeMX工程创建 3.2 配置调试方式 3.3 配置时钟电路 3.4 配置时钟 3.5 配置GPIO 3.6 配置SPI 3.7 配置串口 3.8 项目配置 4. MDK工程…

STM32—驱动RFID-RC522模块

文章目录 一.S50(M1)卡介绍1.S50(M1)卡基础知识2.内部信息3.存取控制4.数据块的存取控制5.控制块的存取控6.工作原理7.M1与读卡器的通信 二.RC522工程代码详解1.RC522与M1通信2.STM32对RC522寄存器的操作3.STM32对RC522的基础通信…

STM32F103+RFID-RC522模块 实现简单读卡写卡demo

目录 前言特别声明:代码下载:功能介绍: 接线STM32STM32F1开发指南(精英版)-库函数版本_V1.2STM32中文参考手册 RFID-RC522RFID射频模块电路原理图 使用图效果图测试程序0 RC522_Handle()最终效果一、先用手机软件NFC Writer读取空卡看看内容1、打开软件和…

使用stm32驱动RC522读取IC卡

stm32驱动RC522 RC522与PN532简介关于STM32驱动方式接线说明程序烧录查看卡号总结 原文链接:https://www.yourcee.com/newsinfo/2924379.html 点击图片购买 RC522与PN532简介 在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可以用…

RC522(RFID模块)实践总结

此次使用RC522模块和S50卡实现近场通讯功能(开发板与RC522通讯方式为硬件SPI),就实践过程中的一些知识点进行总结: RC522模块和M1卡要点介绍;驱动代码;出现问题及解决方法; 1. RC522模块和M1卡…

RC522应用总结

公司需要做刷卡模块,因此选了RC522做demo程序。下面就RC522知识做简要的总结。 本人使用stm32的硬件spi接口搭建工程,相关的配置如下: spi配置: 引脚配置 SDA -------PA4 SCLK ----PB13 MOSI -------PB15 MISO ------PB14 IRQ —没…

RC522 - NFC刷卡模块

RC522 - NFC刷卡模块 芯片介绍/引脚介绍 MF RC522 是应用于 13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员。是 NXP 公司针对“三表”应用推出的一款低电压、低成本、体积小的非接触式读写卡芯片,是智能仪表和便携式手持设备研发的较好选择。 非接触式…

STM32--RFID无线射频技术(RC522刷卡模块)

文章目录 1、RFID的概念2、RFID的工作原理(1)RFID中间件的概念(2)RFID中间件具有以下特点:(3)RFID中间件的意义: 3、RFID频率划分(1)RFID低频特性(2)RFID高频…

STM32——NFC门禁模块(RC522)

文章目录 1. 前言(包括一些个人理解)2. RC522门禁工作过程3. CubeMx配置3.1 SPI通讯的配置3.2 SDA和REST引脚的配置 4. 外设代码函数编写4.1 主函数能调用的接口函数4.2 二级内部调用函数4.3 第三级最底层函数4.4 头文件 5. 使用教程 1. 前言&#xff08…

RC522(RFID)读写驱动

文章目录 1、RC522驱动原理2、手机APP查看卡信息3、驱动移植4、读写卡5、源码 1、RC522驱动原理 我们常见的RC522大概如下所示,PCB部分是主机,然后白色的和绿色的都是IC卡,IC卡可以存储信息,通过靠近PCB主机部分就可以被感应到从…

RC522模块学习

目录 1.原理简介 2.SPI通信 3.获取卡号实验 3.驱动函数 参考: https://www.cnblogs.com/ivantang/p/3904025.html https://xiaolong.blog.csdn.net/article/details/117075834?spm1001.2014.3001.5506 https://blog.csdn.net/weixin_47316662/article/detai…

Jmeter下载安装配置---测试小白

一,进入官网:http://jmeter.apache.org/ 1.第一步进入官网如下图 2.选择进行下载,下载下来为一个压缩包,解压即可。 3.我下载的是jmeter4.0版本,对应jdk1.8。然后就进行解压。个人认为要注意3点:1.解压之后…

Windows版JMeter下载安装

进入apache官网https://www.apache.org/dist/jmeter/binaries下载Windows版本JMeter;配置环境变量(JMETER_HOMED:\JMeter\apache-jmeter-5.1.1)配置环境变量(classpath%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%…