软件读取rfid成功

This commit is contained in:
lmx
2025-12-01 18:51:24 +08:00
parent b8d48ebe19
commit ed475e870f
7 changed files with 56 additions and 20 deletions

View File

@ -920,7 +920,7 @@ DAC硬件上的连接方式,可选的配置:
#define TCFG_STK8321_EN 0
#define TCFG_IRSENSOR_ENABLE 0
#define TCFG_JSA1221_ENABLE 0
#define TCFG_GSENOR_USER_IIC_TYPE 1 //0:软件IIC 1:硬件IIC
#define TCFG_GSENOR_USER_IIC_TYPE 0 //0:软件IIC 1:硬件IIC
//*********************************************************************************//
// imu-sensor配置 //

View File

@ -14,11 +14,25 @@
#define xlog(format, ...) ((void)0)
#endif
/*
IFSEL1 IFSEL0 Host_Interface
0 0 UART
1 0 SPI
0 1 IIC
1 1 SPI
INTERFACE_TYPE == 0iic
== 1: spi
== 2: uart
*/
#define INTERFACE_TYPE 0
//////////////////////////////////////////////////////////////////////////////////////////////////
//
#if INTERFACE_TYPE == 0 //iic接口
/*
iic读取rfid不建议使用底层的硬件iic很容易造成程序崩溃并且时序有时候对不上会造成读写信息错误
这里利用底层写好的软件iic接口来实现寄存器的读写
*/
/*
IF2 IF0 ADDR
@ -50,11 +64,23 @@ unsigned char FM176XX_HardInit(void){
* 接口iic
*/
unsigned char GetReg(unsigned char address, unsigned char *reg_data){
if(_gravity_sensor_get_ndata(FM176_READ_ADDR, address, reg_data, 1)){
return SUCCESS;
}else{
soft_iic_start(0);
if (0 == soft_iic_tx_byte(0, FM176_WRITE_ADDR)) {
soft_iic_stop(0);
return FAIL;
}
if (0 == soft_iic_tx_byte(0, address)) {
soft_iic_stop(0);
return FAIL;
}
soft_iic_start(0);
if (0 == soft_iic_tx_byte(0, FM176_READ_ADDR)) {
soft_iic_stop(0);
return FAIL;
}
*reg_data = soft_iic_rx_byte(0, 0);
soft_iic_stop(0);
return SUCCESS;
}
@ -67,11 +93,21 @@ unsigned char GetReg(unsigned char address, unsigned char *reg_data){
* 接口iic
*/
unsigned char SetReg(unsigned char address, unsigned char reg_data){
if(gravity_sensor_command(FM176_WRITE_ADDR, address, reg_data) == 0){
soft_iic_start(0);
if (0 == soft_iic_tx_byte(0, FM176_WRITE_ADDR)) {
soft_iic_stop(0);
return FAIL;
}else{
return SUCCESS;
}
if (0 == soft_iic_tx_byte(0, address)) {
soft_iic_stop(0);
return FAIL;
}
if (0 == soft_iic_tx_byte(0, reg_data)) {
soft_iic_stop(0);
return FAIL;
}
soft_iic_stop(0);
return SUCCESS;
}

View File

@ -519,8 +519,8 @@ static const struct application_operation app_handler_ops = {
* 注册earphone模式
*/
REGISTER_APPLICATION(app_handler) = {
.name = "handler",
.action = ACTION_EARPHONE_MAIN,
.ops = &app_handler_ops,
.name = "handler",
.action = ACTION_EARPHONE_MAIN,
.ops = &app_handler_ops,
.state = APP_STA_DESTROY,
};

Binary file not shown.

Binary file not shown.

View File

@ -383,16 +383,16 @@ objs/apps/common/device/gSensor/gSensor_manage.c.o
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,write_gsensor_data_handle,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,cbuf_write,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,i2c_scanner_probe,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,hw_iic_start,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,hw_iic_tx_byte,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,hw_iic_stop,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,soft_iic_start,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,soft_iic_tx_byte,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,soft_iic_stop,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,delay,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,gravity_sensor_command,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,_gravity_sensor_get_ndata,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,hw_iic_rx_byte,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,soft_iic_rx_byte,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,gsensor_io_ctl,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,gravity_sensor_init,pl
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,hw_iic_init,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,soft_iic_init,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,memcmp,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,strlen,l
-r=objs/apps/common/device/gSensor/gSensor_manage.c.o,gpio_set_pull_up,l
@ -5937,17 +5937,17 @@ objs/apps/earphone/remote_control/RFID/rfid_event.c.o
-r=objs/apps/earphone/remote_control/RFID/rfid_event.c.o,PICC_F,l
objs/apps/earphone/remote_control/RFID/rfid_hal.c.o
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,FM176XX_HardInit,pl
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,gpio_set_pull_up,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,gpio_set_direction,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,gpio_set_output_value,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,soft_iic_init,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,printf,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,GetReg,pl
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,soft_iic_start,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,soft_iic_tx_byte,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,soft_iic_stop,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,soft_iic_rx_byte,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,SetReg,pl
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,FM176XX_SoftReset,pl
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,rfid_delay_ms,pl
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,os_time_dly,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,gpio_set_pull_down,l
-r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,gpio_read,l
cpu/br28/liba/cpu.a.llvm.19376.crc16.c
-r=cpu/br28/liba/cpu.a.llvm.19376.crc16.c,__crc16_mutex_init,pl
-r=cpu/br28/liba/cpu.a.llvm.19376.crc16.c,os_mutex_create,l