# CMSIS I2C Driver

CMSIS I2C Driver Reference.

## Summary

Typedefs

- ARM_I2C_STATUS : I2C Status.
- ARM_I2C_SignalEvent_t : Pointer to ARM_I2C_SignalEvent : Signal I2C Event.
- ARM_I2C_CAPABILITIES : I2C Driver Capabilities.
- ARM_DRIVER_I2C : Access structure of the I2C Driver.

Data Structures

- _ARM_I2C_STATUS : I2C Status.
- _ARM_I2C_CAPABILITIES : I2C Driver Capabilities.
- _ARM_DRIVER_I2C : Access structure of the I2C Driver.

Macros

- ARM_I2C_API_VERSION : I2C API version.
- ARM_I2C_OWN_ADDRESS : Set Own Slave Address; arg = address.
- ARM_I2C_BUS_SPEED : Set Bus Speed; arg = speed.
- ARM_I2C_BUS_CLEAR : Execute Bus clear: send nine clock pulses.
- ARM_I2C_ABORT_TRANSFER : Abort Master/Slave Transmit/Receive.
- ARM_I2C_BUS_SPEED_STANDARD : Standard Speed (100kHz)
- ARM_I2C_BUS_SPEED_FAST : Fast Speed (400kHz)
- ARM_I2C_BUS_SPEED_FAST_PLUS : Fast+ Speed ( 1MHz)
- ARM_I2C_BUS_SPEED_HIGH : High Speed (3.4MHz)
- ARM_I2C_ADDRESS_10BIT : 10-bit address flag
- ARM_I2C_ADDRESS_GC : General Call flag.
- ARM_I2C_EVENT_TRANSFER_DONE : I2C Event
- ARM_I2C_EVENT_TRANSFER_INCOMPLETE : Master/Slave Transmit/Receive incomplete transfer.
- ARM_I2C_EVENT_SLAVE_TRANSMIT : Slave Transmit operation requested.
- ARM_I2C_EVENT_SLAVE_RECEIVE : Slave Receive operation requested.
- ARM_I2C_EVENT_ADDRESS_NACK : Address not acknowledged from Slave.
- ARM_I2C_EVENT_GENERAL_CALL : General Call indication.
- ARM_I2C_EVENT_ARBITRATION_LOST : Master lost arbitration.
- ARM_I2C_EVENT_BUS_ERROR : Bus error detected (START/STOP at illegal position)
- ARM_I2C_EVENT_BUS_CLEAR : Bus clear finished.

Functions

- ARM_I2C_GetVersion : Get driver version.
- ARM_I2C_GetCapabilities : Get driver capabilities.
- ARM_I2C_Initialize : Initialize I2C Interface.
- ARM_I2C_Uninitialize : De-initialize I2C Interface.
- ARM_I2C_PowerControl : Control I2C Interface Power.
- ARM_I2C_MasterTransmit : Start transmitting data as I2C Master.
- ARM_I2C_MasterReceive : Start receiving data as I2C Master.
- ARM_I2C_SlaveTransmit : Start transmitting data as I2C Slave.
- ARM_I2C_SlaveReceive : Start receiving data as I2C Slave.
- ARM_I2C_GetDataCount : Get transferred data count.
- ARM_I2C_Control : Control I2C Interface.
- ARM_I2C_GetStatus : Get I2C status.
- ARM_I2C_SignalEvent : Signal I2C Events.