#ifndef __USER_TWIS_H__ #define __USER_TWIS_H__ #include #include #include "define.h" #include "nrf_drv_gpiote.h" #ifdef __cplusplus extern "C" { #endif typedef void (*i2c_data_func)(bool is_wr,int count); typedef struct{ bool init_stat; uint8_t addr; int wr_len; uint8_t *wr_data; int rd_len; uint8_t *rd_data; i2c_data_func func; }i2c_slave_work; #define I2C_SLAVE_WORK_DEFAULT_CONFIG \ { \ .init_stat=false, \ .addr=0, \ .wr_len=0, \ .wr_data=NULL, \ .rd_len=0, \ .rd_data=NULL, \ } void user_twis_init(void); void user_twis_uninit(void); void set_user_twis_addr(uint8_t addr); void set_user_twis_rd(uint8_t *data,int len); void set_user_twis_wr(uint8_t *data,int len); void set_user_twis_data_func(i2c_data_func func); #ifdef __cplusplus } #endif #endif //__USER_TWIS_H__