AM62Ax MCU+ SDK  10.01.00

Detailed Description

I2C Driver Object.

Data Fields

Initialization Parameters
uint32_t baseAddr
 
uint32_t intrNum
 
uint8_t bitRate
 
uint32_t funcClk
 
uint32_t ownTargetAddr [I2C_MAX_NUM_OWN_TARGET_ADDR]
 
I2C_Clock_getTicks Clock_getTicks
 
I2C_Clock_usecToTicks Clock_usecToTicks
 
I2C_Clock_uSleep Clock_uSleep
 
I2C_lld_transferCompleteCallback transferCompleteCallback
 
I2C_lld_targetTransferCompleteCallback targetTransferCompleteCallback
 
User Parameters
uint8_t state
 
uint32_t intStatusErr
 
Transfer Parameters
I2CLLD_MessagecurrentMsg
 
I2CLLD_targetTransactioncurrentTargetTransaction
 
uint8_t * writeBufIdx
 
uint32_t writeCountIdx
 
uint8_t * readBufIdx
 
uint32_t readCountIdx
 
uint32_t startTicks
 
uint32_t currentTxnCount
 
I2CLLD_Message i2cMsg
 
I2CLLD_Transaction i2ctxn
 
uint8_t * dataArray
 
uint8_t addBuff [2]
 
uint8_t memAddrSize
 
bool memTxnActive
 
I2CLLD_targetTransaction i2cTargetTransaction
 
void * args
 

Field Documentation

◆ baseAddr

uint32_t I2CLLD_Object::baseAddr

Peripheral base address - CPU view

◆ intrNum

uint32_t I2CLLD_Object::intrNum

I2C Peripheral interrupt vector

◆ bitRate

uint8_t I2CLLD_Object::bitRate

I2C bit rate

◆ funcClk

uint32_t I2CLLD_Object::funcClk

I2C input functional clock

◆ ownTargetAddr

uint32_t I2CLLD_Object::ownTargetAddr[I2C_MAX_NUM_OWN_TARGET_ADDR]

I2C own target addresses

◆ Clock_getTicks

I2C_Clock_getTicks I2CLLD_Object::Clock_getTicks

Clock_getTicks Function Pointer used by driver

◆ Clock_usecToTicks

I2C_Clock_usecToTicks I2CLLD_Object::Clock_usecToTicks

Clock_usecToTicks Function Pointer used by driver

◆ Clock_uSleep

I2C_Clock_uSleep I2CLLD_Object::Clock_uSleep

Clock_uSleep Function Pointer used by driver

◆ transferCompleteCallback

I2C_lld_transferCompleteCallback I2CLLD_Object::transferCompleteCallback

Callback Function Pointer in Controller Mode

◆ targetTransferCompleteCallback

I2C_lld_targetTransferCompleteCallback I2CLLD_Object::targetTransferCompleteCallback

Callback Function Pointer in Target Mode

◆ state

uint8_t I2CLLD_Object::state

Stores the I2C state

◆ intStatusErr

uint32_t I2CLLD_Object::intStatusErr

Stores the error status of i2c Controller

◆ currentMsg

I2CLLD_Message* I2CLLD_Object::currentMsg

I2C transaction variables

◆ currentTargetTransaction

I2CLLD_targetTransaction* I2CLLD_Object::currentTargetTransaction

Pointer to current I2C target transaction

◆ writeBufIdx

uint8_t* I2CLLD_Object::writeBufIdx

Internal inc. writeBuf index

◆ writeCountIdx

uint32_t I2CLLD_Object::writeCountIdx

Internal dec. writeCounter

◆ readBufIdx

uint8_t* I2CLLD_Object::readBufIdx

Internal inc. readBuf index

◆ readCountIdx

uint32_t I2CLLD_Object::readCountIdx

Internal dec. readCounter

◆ startTicks

uint32_t I2CLLD_Object::startTicks

Current msg Start ticks

◆ currentTxnCount

uint32_t I2CLLD_Object::currentTxnCount

Stores current transaction count

◆ i2cMsg

I2CLLD_Message I2CLLD_Object::i2cMsg

i2cMessage object used by read/write APIs

◆ i2ctxn

I2CLLD_Transaction I2CLLD_Object::i2ctxn

i2cTransaction array for read and write

◆ dataArray

uint8_t* I2CLLD_Object::dataArray

Pointer to data array for memory read and write

◆ addBuff

uint8_t I2CLLD_Object::addBuff[2]

Data buffer for storing address during memory read and write

◆ memAddrSize

uint8_t I2CLLD_Object::memAddrSize

Stores memory address size for memory read and write Operation

◆ memTxnActive

bool I2CLLD_Object::memTxnActive

Memory transaction in progress: true: Memory transaction in progress, false: No memory transaction in progress

◆ i2cTargetTransaction

I2CLLD_targetTransaction I2CLLD_Object::i2cTargetTransaction

I2CLLD_targetTransaction object used by transfer API

◆ args

void* I2CLLD_Object::args

Pointer to be used by application to store miscellaneous data