## CMSIS I2C Driver Macro Definition Documentation

### ARM_I2C_API_VERSION

#define ARM_I2C_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,3)

I2C API version.

Location: Driver_I2C.h:78

### ARM_I2C_OWN_ADDRESS

#define ARM_I2C_OWN_ADDRESS (0x01)

Set Own Slave Address; arg = address.

Location: Driver_I2C.h:83

### ARM_I2C_BUS_SPEED

#define ARM_I2C_BUS_SPEED (0x02)

Set Bus Speed; arg = speed.

Location: Driver_I2C.h:84

### ARM_I2C_BUS_CLEAR

#define ARM_I2C_BUS_CLEAR (0x03)

Execute Bus clear: send nine clock pulses.

Location: Driver_I2C.h:85

### ARM_I2C_ABORT_TRANSFER

#define ARM_I2C_ABORT_TRANSFER (0x04)

Abort Master/Slave Transmit/Receive.

Location: Driver_I2C.h:86

### ARM_I2C_BUS_SPEED_STANDARD

#define ARM_I2C_BUS_SPEED_STANDARD (0x01)

Standard Speed (100kHz)

Location: Driver_I2C.h:89

### ARM_I2C_BUS_SPEED_FAST

#define ARM_I2C_BUS_SPEED_FAST (0x02)

Fast Speed (400kHz)

Location: Driver_I2C.h:90

### ARM_I2C_BUS_SPEED_FAST_PLUS

#define ARM_I2C_BUS_SPEED_FAST_PLUS (0x03)

Fast+ Speed ( 1MHz)

Location: Driver_I2C.h:91

### ARM_I2C_BUS_SPEED_HIGH

#define ARM_I2C_BUS_SPEED_HIGH (0x04)

High Speed (3.4MHz)

Location: Driver_I2C.h:92

### ARM_I2C_ADDRESS_10BIT

#define ARM_I2C_ADDRESS_10BIT (0x0400)

10-bit address flag

Location: Driver_I2C.h:97

### ARM_I2C_ADDRESS_GC

#define ARM_I2C_ADDRESS_GC (0x8000)

General Call flag.

Location: Driver_I2C.h:98

### ARM_I2C_EVENT_TRANSFER_DONE

#define ARM_I2C_EVENT_TRANSFER_DONE (1UL << 0)

I2C Event

Master/Slave Transmit/Receive finished

Location: Driver_I2C.h:116

### ARM_I2C_EVENT_TRANSFER_INCOMPLETE

#define ARM_I2C_EVENT_TRANSFER_INCOMPLETE (1UL << 1)

Master/Slave Transmit/Receive incomplete transfer.

Location: Driver_I2C.h:117

### ARM_I2C_EVENT_SLAVE_TRANSMIT

#define ARM_I2C_EVENT_SLAVE_TRANSMIT (1UL << 2)

Slave Transmit operation requested.

Location: Driver_I2C.h:118

### ARM_I2C_EVENT_SLAVE_RECEIVE

#define ARM_I2C_EVENT_SLAVE_RECEIVE (1UL << 3)

Slave Receive operation requested.

Location: Driver_I2C.h:119

### ARM_I2C_EVENT_ADDRESS_NACK

#define ARM_I2C_EVENT_ADDRESS_NACK (1UL << 4)

Address not acknowledged from Slave.

Location: Driver_I2C.h:120

### ARM_I2C_EVENT_GENERAL_CALL

#define ARM_I2C_EVENT_GENERAL_CALL (1UL << 5)

General Call indication.

Location: Driver_I2C.h:121

### ARM_I2C_EVENT_ARBITRATION_LOST

#define ARM_I2C_EVENT_ARBITRATION_LOST (1UL << 6)

Master lost arbitration.

Location: Driver_I2C.h:122

### ARM_I2C_EVENT_BUS_ERROR

#define ARM_I2C_EVENT_BUS_ERROR (1UL << 7)

Bus error detected (START/STOP at illegal position)

Location: Driver_I2C.h:123

### ARM_I2C_EVENT_BUS_CLEAR

#define ARM_I2C_EVENT_BUS_CLEAR (1UL << 8)

Bus clear finished.

Location: Driver_I2C.h:124