I2C driver implementation for a Low Power F3 device I2C controller.
The I2C header file should be included in an application as follows:
Refer to I2C.h for a complete description of APIs.
Before using the I2C in LPF3:
The following is true for receive operation:
The following apply for transmit operation:
After I2C operation has ended:
If an error occurs during operation:
The I2CLPF3 driver sets a power constraint during transactions to keep the device out of standby; so when all tasks are blocked, the device will enter idle mode instead of standby. When the transactions have finished, the power constraint to prohibit standby is released. The following statements are valid:
Generic API Function | Description |
---|---|
I2C_init() | Initialize I2C driver |
I2C_Params_init() | Initialize an I2C_Params structure |
I2C_open() | Initialize I2C HW and set system dependencies |
I2C_close() | Disable I2C HW and release system dependencies |
I2C_transfer() | Start I2C transfer |
I2C_transferTimeout() | Start I2C transfer with a timeout |
I2C_cancel() | Cancels all I2C transfers |
The LPF3 I2C driver currently does not support:
The I2C driver interface produces log statements if instrumentation is enabled.
Diagnostics Mask | Log details |
---|---|
Diags_USER1 | basic I2C operations performed |
Diags_USER2 | detailed I2C operations performed |
#include <stdint.h>
#include <stdbool.h>
#include <ti/drivers/I2C.h>
#include <ti/drivers/Power.h>
#include <ti/drivers/dpl/SwiP.h>
Go to the source code of this file.
Data Structures | |
struct | I2CLPF3_I2CPinCfg |
I2CLPF3 Pin Configuration. More... | |
struct | I2CLPF3_HWAttrs |
I2CLPF3 Hardware attributes. More... | |
struct | I2CLPF3_Object |
I2CLPF3 Object. More... | |