CMSIS I2C Driver Data Structures Type Documentation

 

_ARM_I2C_STATUS

 

Location: Driver_I2C.h:104

 

I2C Status.

 

Data Fields

Type Name Description

uint32_t

busy

Busy flag.

uint32_t

mode

Mode: 0=Slave, 1=Master.

uint32_t

direction

Direction: 0=Transmitter, 1=Receiver.

uint32_t

general_call

General Call indication (cleared on start of next Slave operation)

uint32_t

arbitration_lost

Master lost arbitration (cleared on start of next Master operation)

uint32_t

bus_error

Bus error detected (cleared on start of next Master/Slave operation)

uint32_t

reserved

(Reserved for future use)

 

_ARM_I2C_CAPABILITIES

 

Location: Driver_I2C.h:204

 

I2C Driver Capabilities.

 

Data Fields

Type Name Description

uint32_t

address_10_bit

Supports 10-bit addressing.

uint32_t

reserved

Reserved (must be zero)

 

_ARM_DRIVER_I2C

 

Location: Driver_I2C.h:213

 

Access structure of the I2C Driver.

 

Data Fields

Type Name Description

ARM_DRIVER_VERSION(*

GetVersion)(void)

Pointer to ARM_I2C_GetVersion : Get driver version.

ARM_I2C_CAPABILITIES(*

GetCapabilities)(void)

Pointer to ARM_I2C_GetCapabilities : Get driver capabilities.

int32_t(*

Initialize)(ARM_I2C_SignalEvent_t cb_event)

Pointer to ARM_I2C_Initialize : Initialize I2C Interface.

int32_t(*

Uninitialize)(void)

Pointer to ARM_I2C_Uninitialize : De-initialize I2C Interface.

int32_t(*

PowerControl)(ARM_POWER_STATE state)

Pointer to ARM_I2C_PowerControl : Control I2C Interface Power.

int32_t(*

MasterTransmit)(uint32_t addr, const uint8_t *data, uint32_t num, bool xfer_pending)

Pointer to ARM_I2C_MasterTransmit : Start transmitting data as I2C Master.

int32_t(*

MasterReceive)(uint32_t addr, uint8_t *data, uint32_t num, bool xfer_pending)

Pointer to ARM_I2C_MasterReceive : Start receiving data as I2C Master.

int32_t(*

SlaveTransmit)(const uint8_t *data, uint32_t num)

Pointer to ARM_I2C_SlaveTransmit : Start transmitting data as I2C Slave.

int32_t(*

SlaveReceive)(uint8_t *data, uint32_t num)

Pointer to ARM_I2C_SlaveReceive : Start receiving data as I2C Slave.

int32_t(*

GetDataCount)(void)

Pointer to ARM_I2C_GetDataCount : Get transferred data count.

int32_t(*

Control)(uint32_t control, uint32_t arg)

Pointer to ARM_I2C_Control : Control I2C Interface.

ARM_I2C_STATUS(*

GetStatus)(void)

Pointer to ARM_I2C_GetStatus : Get I2C status.