1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #ifndef __USER_TWIS_H__
- #define __USER_TWIS_H__
- #include <stdint.h>
- #include <stdbool.h>
- #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__
|