Infineon Logo AIROC BTSDK v4.6 - Documentation
 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups
i2cm.h File Reference

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...
 

Detailed Description

Define functions to access I2C master peripheral.