(1)STM32 RC522模块测试代码

2023-05-16

文章目录

  • 1.使用资源
  • 2. RC522模块
    • 2.1 RC522简介
    • 2.2 RC522工作模式
  • 3. 模块测试代码(工程文件源码链接)

1.使用资源

  • 使用32 的SPI1资源:
    SDA-PA4
    RST-PA1(普通io)
    SCK-PA5
    MISO-PA6
    MOSI-PA7
  • 使用RCT6的板子,其它的也可以

2. RC522模块

2.1 RC522简介

  • RC522是一种低成本、高性能的射频识别(RFID)模块,用于与RFID标签进行通信。它是一种13.56MHz射频通信模块,采用射频(RF)技术进行无线数据传输。RC522模块由射频前端、数模转换器和控制单元组成,具有读取和写入RFID标签的能力。

  • RC522模块常用于许多应用领域,如门禁系统、物流跟踪、身份验证和付款系统等。它可以与各种类型的RFID标签一起使用,包括标准的ISO/IEC 14443 Type A和Type B标签以及MIFARE系列标签。

  • RC522模块通过SPI(串行外设接口)与主控器(如Arduino、树莓派等)进行通信。它提供了一组简单的指令和寄存器,用于读取和写入RFID标签的数据。模块还具有内置的加密引擎,可用于实现对数据的加密和解密操作。

  • 使用RC522模块时,可以通过发送命令来控制模块进行初始化、寻找RFID标签、读取标签数据和写入数据到标签等操作。模块还提供了一些辅助功能,如检测RFID标签的存在、控制射频功率等。
    在这里插入图片描述

2.2 RC522工作模式

RC522模块有三种主要的工作模式,它们是:

读写模式(Reader/Writer Mode):在读写模式下,RC522模块作为一个读写器与RFID标签进行通信。它可以读取标签中存储的数据,并且可以写入新的数据到标签中。这种模式适用于许多应用场景,如门禁系统、存储卡的读写等。

卡模拟模式(Card Emulation Mode):在卡模拟模式下,RC522模块可以模拟成一个RFID标签。它可以接收来自读写器的请求,并返回相应的数据。这种模式通常用于模拟智能卡,如支付系统和身份验证系统。

寻卡模式(Card Detection Mode:在寻卡模式下,RC522模块可以被用于检测附近是否存在RFID标签。它可以扫描周围的射频场,并检测到标签的存在。这种模式通常用于门禁系统中的卡片检测。

这些工作模式可以通过RC522模块的控制寄存器和命令来配置和切换。在实际应用中,可以根据需求选择适合的工作模式,并通过与主控器的通信来实现相应的功能。
本文代码只体现寻卡测试

3. 模块测试代码(工程文件源码链接)

工程源码网盘链接: https://pan.baidu.com/s/1igOLotOK8bdipJTGZlqqGg 提取码: y6g7 复制这段内容后打开百度网盘手机App,操作更方便哦

寻卡检测部分:

void IC_test ( void )
{
	char cStr [ 30 ];
    uint8_t ucArray_ID [ 4 ];    /*先后存放IC卡的类型和UID(IC卡序列号)*/                                                                                         
	uint8_t ucStatusReturn;      /*返回状态*/                                                                                           
  while ( 1 )
  {    
    ucStatusReturn = PcdRequest ( PICC_REQALL, ucArray_ID ); 
		if ( ucStatusReturn == MI_OK  )
		{
      printf ( "寻卡成功\n" );
      /*防冲撞(当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作)*/
			if ( PcdAnticoll ( ucArray_ID ) == MI_OK )                                                                   
			{
				PcdSelect(ucArray_ID);					
				PcdAuthState( PICC_AUTHENT1A, 0x11, KeyValue, ucArray_ID );//校验密码        		
				  sprintf ( cStr, "The Card ID is: %02X%02X%02X%02X",ucArray_ID [0], ucArray_ID [1], ucArray_ID [2],ucArray_ID [3] );
					printf ( "%s\r\n",cStr );  //打印卡片ID					
          PcdHalt();
			}		
				
		}		
		    
  }	
}

串口输出
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(1)STM32 RC522模块测试代码 的相关文章

  • 笔记(STM32篇)day2——GPIO及寄存器映射

    目录 一 GPIO结构及模式 1 推挽输出 2 开漏输出 3 复用功能输出 4 上拉 下拉输入 5 复用功能输入与模拟输入 二 寄存器映射 一 GPIO结构及模式 图1 GPIO基本结构 如图1所示为GPIO基本结构 xff0c 右侧I O

随机推荐