STM32(HAL)驱动RFID模块(ATS522)

简介: STM32(HAL)驱动RFID模块(ATS522)

1. 简介

使用STM32F103C8T6单片机通过HAL库方式对ATS522模块进行驱动,操作过程如下。


2、操作流程

2、1硬件调试

该模块使用串口方式进行驱动,对于硬件部分首先将ATS522模块上SWIM引脚与GND短接,接着将正负极对接USB转TLL模块的正负极(5V),最好将TX、RX分别与USB转TLL模块上TX、RX模块反接。波特率为9600,接线无误后,刷卡进行识别,可以在串口调试助手上看到ID卡内部存储信息(不同ID卡信息不同,卡1ID信息如下所示。


11f3323a620a90336303ad40b5e792ce.png


2.2 Cubemax配置

对于基础配置过程点击此链接,因为该模块通过串口模块进行通讯,因此需要对串口进行配置,又需要对不同的ID卡信息进行识别,因此打开两个串口(串口1对ID信息进行发送,串口2对传感器进行通信),并且配置PB0对于LED灯进行驱动,便于观察效果,操作流程如下所示。


串口1配置如下所示:



串口2配置如下所示:



除了需要配置9600波特率,还需要打开串口中断,配置如下所示。


3a15434862c000b95c1d3e179f6a42d0.png


接着对PB0引脚的GPIO初始化进行配置,配置图如下所示。


1301a6a04851b4c56f92d350b86c7e4a.png


最好生成代码进行程序的书写。


2.3 keil端程序书写

首先在main.h文件中进行LED_ON、LED_OFF宏定义,如下所示:


cca5669f2b18235dd5e8699faeb10daa.png


接着在主函数上方进行中断回调函数的书写,如下所示:

/* USER CODE BEGIN PTD */
char revebuf[10];
uint8_t UID[50]={0};
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(huart->Instance == USART2){
        HAL_UART_Transmit(&huart1,(uint8_t *)revebuf,sizeof(revebuf),10);
    }    
    }    
}
/* USER CODE END PTD */


在主函数中添加一行代码即可,如下所示:

/* USER CODE BEGIN WHILE */
  while (1)
  {
   HAL_UART_Receive_IT(&huart2,(uint8_t *)&revebuf,10);
    /* USER CODE END WHILE */
    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */


对于不同的ID卡识别可以在串口调试助手上查看到内部数据(串口1波特率为115200),卡2ID卡内部信息如下所示:



想要实现ID卡识别功能,需要在回调函数中添加条件判断,如下所示:

void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  if(huart->Instance == USART2){
        HAL_UART_Transmit(&huart1,(uint8_t *)revebuf,sizeof(revebuf),10);
        if(revebuf[0]==0X33){
          LED_ON;
      }    
        else if(revebuf[0]==0X32){
          LED_OFF;
      }    
    }    
}


刷卡1LED灯亮,卡会熄灭,刷卡1展示效果如下所示:

相关文章
小巴陪你搞技术-STM32驱动1602时钟
小巴陪你搞技术-STM32驱动1602时钟
|
6月前
|
自然语言处理 监控 语音技术
STM32 使用SYN6288语音模块
STM32 使用SYN6288语音模块
362 0
|
26天前
【STM32】通过RTThread驱动W25QXXX
【STM32】通过RTThread驱动W25QXXX
|
1月前
STM32F103驱动oled显示屏
STM32F103驱动oled显示屏
22 0
|
6月前
|
存储 机器人 芯片
嵌入式 STM32 步进电机驱动,干货满满,建议收藏
嵌入式 STM32 步进电机驱动,干货满满,建议收藏
嵌入式 STM32 步进电机驱动,干货满满,建议收藏
|
6月前
|
API 芯片
嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)
嵌入式 STM32 实现STemwin移植+修改其配置文件,驱动LCD显示文本 (含源码,建议收藏)
|
6月前
|
传感器 智能硬件
STM32cubemx配置驱动DHT11模块
STM32cubemx配置驱动DHT11模块
71 0
|
2月前
|
C++ 芯片 编译器
STM32F103标准外设库—— 新建工程与库函数(四)
STM32F103标准外设库—— 新建工程与库函数(四)
44 0
STM32F103标准外设库—— 新建工程与库函数(四)
|
2月前
|
传感器 芯片 内存技术
STM32F103标准外设库——认识STM32(一)
STM32F103标准外设库——认识STM32(一)
109 0
STM32F103标准外设库——认识STM32(一)
|
2月前
|
芯片 存储 C语言
STM32F103标准外设库——固件库 (三)
STM32F103标准外设库——固件库 (三)
63 0
STM32F103标准外设库——固件库 (三)