| CMSIS-Driver Version 2.02 Peripheral Interface for Middleware and Application Code

- CMSIS
- CORE
- Driver
- DSP
- RTOS API
- Pack
- SVD

- Main Page
- Usage and Description
- Reference

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
Driver_I2C.h File Reference

## Data Structures

struct | ARM_I2C_STATUS
| I2C Status. More...
struct | ARM_I2C_CAPABILITIES
| I2C Driver Capabilities. More...
struct | ARM_DRIVER_I2C
| Access structure of the I2C Driver. More...

## Macros

#define | ARM_I2C_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,02) /* API version */
#define | ARM_I2C_OWN_ADDRESS (0x01)
| Set Own Slave Address; arg = address.
#define | ARM_I2C_BUS_SPEED (0x02)
| Set Bus Speed; arg = speed.
#define | ARM_I2C_BUS_CLEAR (0x03)
| Execute Bus clear: send nine clock pulses.
#define | ARM_I2C_ABORT_TRANSFER (0x04)
| Abort Master/Slave Transmit/Receive.
#define | ARM_I2C_BUS_SPEED_STANDARD (0x01)
| Standard Speed (100kHz)
#define | ARM_I2C_BUS_SPEED_FAST (0x02)
| Fast Speed (400kHz)
#define | ARM_I2C_BUS_SPEED_FAST_PLUS (0x03)
| Fast+ Speed ( 1MHz)
#define | ARM_I2C_BUS_SPEED_HIGH (0x04)
| High Speed (3.4MHz)
#define | ARM_I2C_ADDRESS_10BIT 0x0400
| 10-bit address flag
#define | ARM_I2C_ADDRESS_GC 0x8000
| General Call flag.
#define | ARM_I2C_EVENT_TRANSFER_DONE (1UL << 0)
| Master/Slave Transmit/Receive finished.
#define | ARM_I2C_EVENT_TRANSFER_INCOMPLETE (1UL << 1)
| Master/Slave Transmit/Receive incomplete transfer.
#define | ARM_I2C_EVENT_SLAVE_TRANSMIT (1UL << 2)
| Slave Transmit operation requested.
#define | ARM_I2C_EVENT_SLAVE_RECEIVE (1UL << 3)
| Slave Receive operation requested.
#define | ARM_I2C_EVENT_ADDRESS_NACK (1UL << 4)
| Address not acknowledged from Slave.
#define | ARM_I2C_EVENT_GENERAL_CALL (1UL << 5)
| General Call indication.
#define | ARM_I2C_EVENT_ARBITRATION_LOST (1UL << 6)
| Master lost arbitration.
#define | ARM_I2C_EVENT_BUS_ERROR (1UL << 7)
| Bus error detected (START/STOP at illegal position)
#define | ARM_I2C_EVENT_BUS_CLEAR (1UL << 8)
| Bus clear finished.

## Typedefs

typedef void(* | ARM_I2C_SignalEvent_t )(uint32_t event)
| Pointer to ARM_I2C_SignalEvent : Signal I2C Event.

## Macro Definition Documentation

#define ARM_I2C_API_VERSION ARM_DRIVER_VERSION_MAJOR_MINOR(2,02) /* API version */