77 lines
2.2 KiB
C
77 lines
2.2 KiB
C
/********************************************************************************************************
|
||
* @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
|