cun
This commit is contained in:
@ -612,11 +612,17 @@ unsigned char ReaderV_Inventory(struct picc_v_struct *picc_v)
|
|||||||
SetCommand(CMD_TRANSCEIVE);
|
SetCommand(CMD_TRANSCEIVE);
|
||||||
rfid_delay_ms(10);
|
rfid_delay_ms(10);
|
||||||
GetReg(REG_ERROR, ®_data);
|
GetReg(REG_ERROR, ®_data);
|
||||||
if ((reg_data & 0x0F) != 0)
|
if ((reg_data & 0x0F) != 0){
|
||||||
|
xlog("(reg_data & 0x0F) != 0\n");
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
GetReg(REG_FIFOLENGTH, ®_data);
|
GetReg(REG_FIFOLENGTH, ®_data);
|
||||||
if (reg_data != 10)
|
if (reg_data != 10){
|
||||||
|
xlog("reg_data != 10\n");
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
GetReg(REG_FIFODATA, &picc_v->RESPONSE);
|
GetReg(REG_FIFODATA, &picc_v->RESPONSE);
|
||||||
GetReg(REG_FIFODATA, ®_data); // DSFID
|
GetReg(REG_FIFODATA, ®_data); // DSFID
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < 8; i++)
|
||||||
|
|||||||
@ -62,7 +62,7 @@ void TYPE_A_EVENT(void)
|
|||||||
result = ReaderA_CardActivate(&PICC_A);
|
result = ReaderA_CardActivate(&PICC_A);
|
||||||
if (result != SUCCESS)
|
if (result != SUCCESS)
|
||||||
{
|
{
|
||||||
// xlog("ReaderA_CardActivate_ERROR\r\n");
|
xlog("ReaderA_CardActivate_ERROR\r\n");
|
||||||
SetCW(FUN_DISABLE);
|
SetCW(FUN_DISABLE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -84,6 +84,8 @@ unsigned char FM176XX_SoftReset(void){
|
|||||||
|
|
||||||
|
|
||||||
unsigned char FM176XX_HardInit(void){
|
unsigned char FM176XX_HardInit(void){
|
||||||
|
gpio_set_direction(IO_PORTA_05,0); //nss
|
||||||
|
|
||||||
spi_open(SPI1); //初始化spi1:PC3、PC5
|
spi_open(SPI1); //初始化spi1:PC3、PC5
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
}
|
}
|
||||||
@ -105,7 +107,7 @@ unsigned char GetReg(unsigned char address, unsigned char *reg_data){
|
|||||||
addr_byte = (address << 1) | 0x01;
|
addr_byte = (address << 1) | 0x01;
|
||||||
|
|
||||||
// ---- 开始SPI事务 ----
|
// ---- 开始SPI事务 ----
|
||||||
// gpio_set_output_value(FM176XX_CS_PIN, 0); // 拉低CS
|
gpio_direction_output(IO_PORTA_05,0);
|
||||||
|
|
||||||
// 1. 发送地址字节,忽略接收到的数据
|
// 1. 发送地址字节,忽略接收到的数据
|
||||||
spi_send_byte(SPI1, addr_byte);
|
spi_send_byte(SPI1, addr_byte);
|
||||||
@ -114,7 +116,7 @@ unsigned char GetReg(unsigned char address, unsigned char *reg_data){
|
|||||||
*reg_data = spi_recv_byte(SPI1, &err);
|
*reg_data = spi_recv_byte(SPI1, &err);
|
||||||
|
|
||||||
// ---- 结束SPI事务 ----
|
// ---- 结束SPI事务 ----
|
||||||
// gpio_set_output_value(FM176XX_CS_PIN, 1); // 拉高CS
|
gpio_direction_output(IO_PORTA_05,1);
|
||||||
|
|
||||||
if (err != 0) {
|
if (err != 0) {
|
||||||
xlog("GetReg error\n");
|
xlog("GetReg error\n");
|
||||||
@ -133,17 +135,22 @@ unsigned char GetReg(unsigned char address, unsigned char *reg_data){
|
|||||||
* 接口:SPI
|
* 接口:SPI
|
||||||
*/
|
*/
|
||||||
unsigned char SetReg(unsigned char address, unsigned char reg_data){
|
unsigned char SetReg(unsigned char address, unsigned char reg_data){
|
||||||
unsigned char spi_data = (address << 1) & 0xFE;
|
|
||||||
|
unsigned char addr_byte = (address << 1) & 0xFE; // Bit0=0 for write
|
||||||
if(spi_send_byte(SPI1, spi_data) != 0){
|
int err1, err2;
|
||||||
xlog("SetReg error 0\n");
|
|
||||||
return FAIL;
|
gpio_direction_output(IO_PORTA_05,0); // <<-- CS拉低,开始事务
|
||||||
}
|
|
||||||
if(spi_send_byte(SPI1, reg_data) != 0){
|
err1 = spi_send_byte(SPI1, addr_byte); // 发送地址
|
||||||
xlog("SetReg error 1\n");
|
err2 = spi_send_byte(SPI1, reg_data); // 发送数据
|
||||||
return FAIL;
|
|
||||||
|
gpio_direction_output(IO_PORTA_05,1); // <<-- CS拉高,结束事务
|
||||||
|
|
||||||
|
if (err1 != 0 || err2 != 0) {
|
||||||
|
return FAIL;
|
||||||
}
|
}
|
||||||
return SUCCESS;
|
return SUCCESS;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -213,7 +213,7 @@ void le_user_app_event_handler(struct sys_event* event){
|
|||||||
extern void i2c_scanner_probe(void);
|
extern void i2c_scanner_probe(void);
|
||||||
// i2c_scanner_probe();
|
// i2c_scanner_probe();
|
||||||
extern void rfid_task_fuc(void);
|
extern void rfid_task_fuc(void);
|
||||||
create_process(&rfid_fuc_id,"rfid",NULL,rfid_task_fuc,1000);
|
create_process(&rfid_fuc_id,"rfid",NULL,rfid_task_fuc,2000);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user