/******************************************************************************************************** * @file rfid_hal.h * @brief RFID 硬件抽象层 (HAL) 接口定义 * @details * ********************************************************************************************************/ #ifndef RFID_HAL_H #define RFID_HAL_H #include "system/includes.h" /******************************************************************************************************** * 函数原型声明 ********************************************************************************************************/ /** * @brief 从FM176XX芯片读取一个字节的寄存器值。 * @param address [in] 目标寄存器的地址。 * @param reg_data [out] 指向用于存储读取数据的字节的指针。 * @return 操作状态,SUCCESS表示成功。 * @details * 接口:uart、iic、spi * 自行实现 */ unsigned char GetReg(unsigned char address, unsigned char *reg_data); /** * @brief 向FM176XX芯片写入一个字节的寄存器值。 * @param address [in] 目标寄存器的地址。 * @param reg_data [in] 要写入的字节数据。 * @return 操作状态,SUCCESS表示成功。 * @details * 接口:uart、iic、spi * 自行实现 */ unsigned char SetReg(unsigned char address, unsigned char reg_data); /** * @brief 接口硬件初始化 * * @return unsigned char */ unsigned char FM176XX_HardInit(void); /** * @brief 硬件复位 * 通过控制RST引脚产生一个低电平脉冲来复位芯片。 * 复位后,会读取命令寄存器(REG_COMMAND)的值进行检查, * 如果值不为0x40,则认为复位失败。 * * @return unsigned char */ unsigned char FM176XX_HardReset(void); /** * @brief 软件复位,命令:0x1F * * @return unsigned char */ unsigned char FM176XX_SoftReset(void); /** * @brief 实现一个毫秒级的延时。 * @param ms [in] 要延时的毫秒数。 * @return 无。 * @details * 一个阻塞式延时函数。 */ void rfid_delay_ms(unsigned int ms); #endif // RFID_HAL_H