暂存
This commit is contained in:
@ -2,6 +2,7 @@
|
||||
#include "gSensor/gSensor_manage.h"
|
||||
#include "./include/rfid_main.h"
|
||||
#include "./include/READER_REG.h"
|
||||
#include "asm/spi.h"
|
||||
|
||||
#define FUN_ENABLE_XLOG 1
|
||||
#ifdef xlog
|
||||
@ -13,7 +14,7 @@
|
||||
#define xlog(format, ...) ((void)0)
|
||||
#endif
|
||||
|
||||
#define INTERFACE_TYPE 0
|
||||
#define INTERFACE_TYPE 1
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
|
||||
@ -26,7 +27,7 @@
|
||||
1 0 0x2A
|
||||
1 1 0x2B
|
||||
*/
|
||||
#define FM176_7BIT_ADDR 0x28 //后两位地址由IF2、IF1决定
|
||||
#define FM176_7BIT_ADDR 0x2A //后两位地址由IF2、IF1决定
|
||||
#define FM176_READ_ADDR (FM176_7BIT_ADDR << 1)
|
||||
#define FM176_WRITE_ADDR ((FM176_7BIT_ADDR << 1) | 0x01)
|
||||
|
||||
@ -81,6 +82,81 @@ unsigned char FM176XX_SoftReset(void){
|
||||
|
||||
#elif INTERFACE_TYPE == 1 //spi
|
||||
|
||||
|
||||
unsigned char FM176XX_HardInit(void){
|
||||
spi_open(SPI1); //初始化spi1:PC3、PC5
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 从FM176XX芯片读取一个字节的寄存器值。
|
||||
* @param address [in] 目标寄存器的地址。
|
||||
* @param reg_data [out] 指向用于存储读取数据的字节的指针。
|
||||
* @return 操作状态,SUCCESS表示成功。
|
||||
* @details
|
||||
* 接口:SPI
|
||||
*/
|
||||
unsigned char GetReg(unsigned char address, unsigned char *reg_data){
|
||||
unsigned char addr_byte;
|
||||
int err;
|
||||
|
||||
// 准备地址字节:地址左移1位,Bit0置1表示读
|
||||
addr_byte = (address << 1) | 0x01;
|
||||
|
||||
// ---- 开始SPI事务 ----
|
||||
// gpio_set_output_value(FM176XX_CS_PIN, 0); // 拉低CS
|
||||
|
||||
// 1. 发送地址字节,忽略接收到的数据
|
||||
spi_send_byte(SPI1, addr_byte);
|
||||
|
||||
// 2. 接收数据字节 (通过发送一个Dummy Byte 0xFF 来产生时钟)
|
||||
*reg_data = spi_recv_byte(SPI1, &err);
|
||||
|
||||
// ---- 结束SPI事务 ----
|
||||
// gpio_set_output_value(FM176XX_CS_PIN, 1); // 拉高CS
|
||||
|
||||
if (err != 0) {
|
||||
xlog("GetReg error\n");
|
||||
return FAIL;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 向FM176XX芯片写入一个字节的寄存器值。
|
||||
* @param address [in] 目标寄存器的地址。
|
||||
* @param reg_data [in] 要写入的字节数据。
|
||||
* @return 操作状态,SUCCESS表示成功。
|
||||
* @details
|
||||
* 接口:SPI
|
||||
*/
|
||||
unsigned char SetReg(unsigned char address, unsigned char reg_data){
|
||||
unsigned char spi_data = (address << 1) & 0xFE;
|
||||
if(spi_send_byte(SPI1, spi_data) != 0){
|
||||
xlog("SetReg error 0\n");
|
||||
return FAIL;
|
||||
}
|
||||
if(spi_send_byte(SPI1, reg_data) != 0){
|
||||
xlog("SetReg error 1\n");
|
||||
return FAIL;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief 软件复位,命令:0x1F
|
||||
*
|
||||
* @return unsigned char
|
||||
*/
|
||||
unsigned char FM176XX_SoftReset(void){
|
||||
return SetReg(REG_COMMAND, 0x1F);
|
||||
}
|
||||
|
||||
|
||||
|
||||
#elif INTERFACE_TYPE == 2 //uart
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user