diff --git a/apps/earphone/board/br28/board_jl701n_demo_cfg.h b/apps/earphone/board/br28/board_jl701n_demo_cfg.h index 91e5579..c968687 100644 --- a/apps/earphone/board/br28/board_jl701n_demo_cfg.h +++ b/apps/earphone/board/br28/board_jl701n_demo_cfg.h @@ -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配置 // diff --git a/apps/earphone/remote_control/RFID/rfid_hal.c b/apps/earphone/remote_control/RFID/rfid_hal.c index f670670..26b3ce2 100644 --- a/apps/earphone/remote_control/RFID/rfid_hal.c +++ b/apps/earphone/remote_control/RFID/rfid_hal.c @@ -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 == 0:iic + == 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; } diff --git a/apps/earphone/xtell_Sensor/xtell_handler.c b/apps/earphone/xtell_Sensor/xtell_handler.c index fcaac9a..c467167 100644 --- a/apps/earphone/xtell_Sensor/xtell_handler.c +++ b/apps/earphone/xtell_Sensor/xtell_handler.c @@ -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, }; diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index d5297d6..dc97b6b 100644 Binary files a/cpu/br28/tools/app.bin and b/cpu/br28/tools/app.bin differ diff --git a/cpu/br28/tools/data_code.bin b/cpu/br28/tools/data_code.bin index b361abe..c3dea50 100644 Binary files a/cpu/br28/tools/data_code.bin and b/cpu/br28/tools/data_code.bin differ diff --git a/cpu/br28/tools/download/earphone/jl_isd.bin b/cpu/br28/tools/download/earphone/jl_isd.bin index ab26c66..07fc58b 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.bin and b/cpu/br28/tools/download/earphone/jl_isd.bin differ diff --git a/cpu/br28/tools/sdk.elf.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index 2c30ebd..7bf9d08 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -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