CMSIS I2C Driver Function Documentation

 

ARM_I2C_GetVersion

ARM_DRIVER_VERSION ARM_I2C_GetVersion()

 

Location: Driver_I2C.c:38

 

Get driver version.

 

 

ARM_I2C_GetCapabilities

ARM_I2C_CAPABILITIES ARM_I2C_GetCapabilities()

 

Location: Driver_I2C.c:43

 

Get driver capabilities.

 

 

ARM_I2C_Initialize

int32_t ARM_I2C_Initialize(ARM_I2C_SignalEvent_t cb_event)

 

Location: Driver_I2C.c:48

 

Initialize I2C Interface.

 

 

Parameters

Direction Name Description

in

cb_event

Pointer to ARM_I2C_SignalEvent

 

ARM_I2C_Uninitialize

int32_t ARM_I2C_Uninitialize()

 

Location: Driver_I2C.c:52

 

De-initialize I2C Interface.

 

 

ARM_I2C_PowerControl

int32_t ARM_I2C_PowerControl(ARM_POWER_STATE state)

 

Location: Driver_I2C.c:56

 

Control I2C Interface Power.

 

 

Parameters

Direction Name Description

in

state

Power state

 

ARM_I2C_MasterTransmit

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

 

Location: Driver_I2C.c:72

 

Start transmitting data as I2C Master.

 

 

Parameters

Direction Name Description

in

addr

Slave address (7-bit or 10-bit)

in

data

Pointer to buffer with data to transmit to I2C Slave

in

num

Number of data bytes to transmit

in

xfer_pending

Transfer operation is pending - Stop condition will not be generated

 

ARM_I2C_MasterReceive

int32_t ARM_I2C_MasterReceive(uint32_t addr, uint8_t * data, uint32_t num, bool xfer_pending)

 

Location: Driver_I2C.c:76

 

Start receiving data as I2C Master.

 

 

Parameters

Direction Name Description

in

addr

Slave address (7-bit or 10-bit)

out

data

Pointer to buffer for data to receive from I2C Slave

in

num

Number of data bytes to receive

in

xfer_pending

Transfer operation is pending - Stop condition will not be generated

 

ARM_I2C_SlaveTransmit

int32_t ARM_I2C_SlaveTransmit(const uint8_t * data, uint32_t num)

 

Location: Driver_I2C.c:80

 

Start transmitting data as I2C Slave.

 

 

Parameters

Direction Name Description

in

data

Pointer to buffer with data to transmit to I2C Master

in

num

Number of data bytes to transmit

 

ARM_I2C_SlaveReceive

int32_t ARM_I2C_SlaveReceive(uint8_t * data, uint32_t num)

 

Location: Driver_I2C.c:84

 

Start receiving data as I2C Slave.

 

 

Parameters

Direction Name Description

out

data

Pointer to buffer for data to receive from I2C Master

in

num

Number of data bytes to receive

 

ARM_I2C_GetDataCount

int32_t ARM_I2C_GetDataCount()

 

Location: Driver_I2C.c:88

 

Get transferred data count.

 


Returns:
number of data bytes transferred; -1 when Slave is not addressed by Master

 

ARM_I2C_Control

int32_t ARM_I2C_Control(uint32_t control, uint32_t arg)

 

Location: Driver_I2C.c:92

 

Control I2C Interface.

 

 

Parameters

Direction Name Description

in

control

Operation

in

arg

Argument of operation (optional)

 

ARM_I2C_GetStatus

ARM_I2C_STATUS ARM_I2C_GetStatus()

 

Location: Driver_I2C.c:124

 

Get I2C status.

 


Returns:
I2C status ARM_I2C_STATUS

 

ARM_I2C_SignalEvent

void ARM_I2C_SignalEvent(uint32_t event)

 

Location: Driver_I2C.c:128

 

Signal I2C Events.

 

Parameters

Direction Name Description

in

event

I2C_events notification mask