mbed library sources

Fork of mbed-src by mbed official

Embed: (wiki syntax)

« Back to documentation index

Asynchronous I2C Hardware Abstraction Layer

Asynchronous I2C Hardware Abstraction Layer

Functions

void i2c_transfer_asynch (i2c_t *obj, void *tx, size_t tx_length, void *rx, size_t rx_length, uint32_t address, uint32_t stop, uint32_t handler, uint32_t event, DMAUsage hint)
 Start i2c asynchronous transfer.
uint32_t i2c_irq_handler_asynch (i2c_t *obj)
 The asynchronous IRQ handler.
uint8_t i2c_active (i2c_t *obj)
 Attempts to determine if I2C peripheral is already in use.
void i2c_abort_asynch (i2c_t *obj)
 Abort ongoing asynchronous transaction.

Function Documentation

void i2c_abort_asynch ( i2c_t obj )

Abort ongoing asynchronous transaction.

Parameters:
objThe I2C object
uint8_t i2c_active ( i2c_t obj )

Attempts to determine if I2C peripheral is already in use.

Parameters:
objThe I2C object
Returns:
non-zero if the I2C module is active or zero if it is not
uint32_t i2c_irq_handler_asynch ( i2c_t obj )

The asynchronous IRQ handler.

Parameters:
objThe I2C object which holds the transfer information
Returns:
event flags if a transfer termination condition was met or 0 otherwise.
void i2c_transfer_asynch ( i2c_t obj,
void *  tx,
size_t  tx_length,
void *  rx,
size_t  rx_length,
uint32_t  address,
uint32_t  stop,
uint32_t  handler,
uint32_t  event,
DMAUsage  hint 
)

Start i2c asynchronous transfer.

Parameters:
objThe I2C object
txThe buffer to send
tx_lengthThe number of words to transmit
rxThe buffer to receive
rx_lengthThe number of words to receive
addressThe address to be set - 7bit or 9 bit
stopIf true, stop will be generated after the transfer is done
handlerThe I2C IRQ handler to be set
hintDMA hint usage