RFID 与 STM32 的接口

问题描述 投票:0回答:1

我正在尝试使用 STM32CubeIDE 将 YHY502CTG RFID 读取器模块与 STM32H7A3ZITQ 连接。但我无法设置主机和模块之间的交互。有人可以帮我解决它的硬件连接和与代码相关的十六进制命令吗?

我正在尝试设置STM32板和YHY502CTG读卡器模块之间的UART通信。

这是我的代码:

uint8_t CMD[]={0XAA,0XBB,0X03,0X14,0X13,0X04}; // command for reading module type
uint8_t RxData[30];//will store response

HAL_UART_Transmit(&huart4, CMD, sizeof(CMD), HAL_MAX_DELAY);
HAL_Delay(1000);
HAL_UART_Receive(&huart4, RxData, sizeof(RxData), HAL_Max_Delay);
HAL_Delay(1000);
hex stm32 uart rfid stm32cubeide
1个回答
0
投票

YHY502CTG 的数据表中没有任何内容表明您需要等待 1000ms 才能发送回复。言下之意就是马上回复。

因此,请消除传输和接收之间的延迟。

请注意,STM32 没有某种内部缓冲区可以存储接收到的 UART 字符,直到您选择读取它们。如果 RFID 模块在您延迟时发送响应(看起来很可能),则响应将完全丢失。

数据表还建议应使用命令 0x01 来读取模块类型,而您正在使用命令 0x14。因此,您的数组或对其的注释或两者都是错误的。命令 0x14 是一个“Beep”命令。

© www.soinside.com 2019 - 2024. All rights reserved.