Functions | |
void | i2c_transfer_asynch (i2c_t *obj, const 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. More... | |
uint32_t | i2c_irq_handler_asynch (i2c_t *obj) |
The asynchronous IRQ handler. More... | |
uint8_t | i2c_active (i2c_t *obj) |
Attempts to determine if the I2C peripheral is already in use. More... | |
void | i2c_abort_asynch (i2c_t *obj) |
Abort asynchronous transfer. More... | |
void i2c_abort_asynch | ( | i2c_t * | obj | ) |
Abort asynchronous transfer.
This function does not perform any check - that should happen in upper layers.
obj | The I2C object |
uint8_t i2c_active | ( | i2c_t * | obj | ) |
Attempts to determine if the I2C peripheral is already in use.
obj | The I2C object |
uint32_t i2c_irq_handler_asynch | ( | i2c_t * | obj | ) |
The asynchronous IRQ handler.
obj | The I2C object which holds the transfer information |
void i2c_transfer_asynch | ( | i2c_t * | obj, |
const 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.
obj | The I2C object |
tx | The transmit buffer |
tx_length | The number of bytes to transmit |
rx | The receive buffer |
rx_length | The number of bytes to receive |
address | The address to be set - 7bit or 9bit |
stop | If true, stop will be generated after the transfer is done |
handler | The I2C IRQ handler to be set |
event | Event mask for the transfer. See I2C Events Macros |
hint | DMA hint usage |