协议栈:simplelink_cc2640r2_sdk_1_40_00_45
-----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------
* | Generic API Function | API Function | Description |
* |--------------------- |------------------------- |---------------------------------------------------|
* | I2C_init() | I2CCC26XX_init() | Initialize I2C driver |
* | I2C_open() | I2CCC26XX_open() | Initialize I2C HW and set system dependencies |
* | I2C_close() | I2CCC26XX_close() | Disable I2C HW and release system dependencies |
* | I2C_transfer() | I2CCC26XX_transfer() | Start I2C transfer
--------------------------------------------------------------------------------I2C.h
typedef struct I2C_Config_ *I2C_Handle;
typedef struct I2C_Transaction_ {
void *writeBuf; /*!< Buffer containing data to be written */
size_t writeCount; /*!< Number of bytes to be written to the slave */
void *readBuf; /*!< Buffer to which data is to be read into */
size_t readCount; /*!< Number of bytes to be read from the slave */
uint_least8_t slaveAddress; /*!< Address of the I2C slave peripheral */
void *arg; /*!< Argument to be passed to the callback function */
void *nextPtr; /*!< Used for queuing in I2C_MODE_CALLBACK mode */
} I2C_Transaction;
typedef enum I2C_TransferMode_ {
I2C_MODE_BLOCKING, /*!< I2C_transfer() blocks execution */
I2C_MODE_CALLBACK /*!< I2C_transfer() does not block */
} I2C_TransferMode;
typedef void (*I2C_CallbackFxn)(I2C_Handle handle, I2C_Transaction *transaction, bool transferStatus);
typedef enum I2C_BitRate_ {
I2C_100kHz = 0,
I2C_400kHz = 1
} I2C_BitRate;
typedef struct