AIROC™ BTSDK v4.6 - Documentation | ||||
Define functions to access I2C master peripheral. More...
Enumerations | |
enum | { I2CM_SPEED_100KHZ = (0x01 << 4), I2CM_SPEED_400KHZ = (0x00 << 4), I2CM_SPEED_800KHZ = (0x02 << 4), I2CM_SPEEC_1000KHZ = (0x03 << 4), I2CM_SPEEC_2000KHZ = (0x04 << 4) } |
Defines the I2C master driver. More... | |
enum | { I2CM_SUCCESS, I2CM_OP_FAILED, I2CM_BUSY } |
Driver status. More... | |
enum | { I2CM_SCL_SPEED_MAX = 10, I2CM_SCL_SPEED_MIN = 255 } |
SCL speed is governed by a counter that counts the number of cycles of the reference clock which is always 24 MHz. More... | |
Functions | |
void | i2cm_init (void) |
I2C master initialization routine. | |
void | i2cm_setSpeed (UINT8 divisor) |
Allows the I2C speed to be selected. More... | |
void | i2cm_setTransactionSpeed (void) |
Internal helper function to set speed. | |
UINT8 | i2cm_getSpeed (void) |
Gets the current speed set up by the application. More... | |
UINT8 | i2cm_write (UINT8 *data, UINT16 length, UINT8 slave) |
Writes data to the I2C slave. More... | |
UINT8 | i2cm_read (UINT8 *data, UINT16 length, UINT8 slave) |
Reads data from the I2C slave. More... | |
UINT8 | i2cm_comboRead (UINT8 *secondTranBuf, UINT16 secondTranCount, UINT8 *firstTranBuf, UINT8 firstTranCount, UINT8 slaveAdr) |
Do a combination write, followed by a repeated start followed by a read transaction. More... | |
UINT8 | i2cm_comboWrite (UINT8 *secondTranBuf, UINT16 secondTranCount, UINT8 *firstTranBuf, UINT8 firstTranCount, UINT8 slaveAdr) |
Do a combination write, followed by a repeated start followed by a write transaction. More... | |
Define functions to access I2C master peripheral.