Master mode transfer message structure used to define a complete I2C transfer sequence (from start to stop).

The structure allows for defining the following types of sequences (refer to defines for sequence details):

Public Attributes#

uint16_t

Address to use after (repeated) start.

uint16_t

Flags defining sequence type and details, see I2C_FLAG_ defines.

uint8_t *

Buffer used for data to transmit/receive, must be len long.

uint16_t

Number of bytes in data to send or receive.

struct I2C_TransferSeq_TypeDef::@0

Buffers used to hold data to send from or receive into, depending on sequence type.

Public Attribute Documentation#

addr#

uint16_t I2C_TransferSeq_TypeDef::addr

Address to use after (repeated) start.

Layout details, A = Address bit, X = don't care bit (set to 0):

  • 7 bit address - Use format AAAA AAAX

  • 10 bit address - Use format XXXX XAAX AAAA AAAA


Definition at line 247 of file platform/emlib/inc/em_i2c.h

flags#

uint16_t I2C_TransferSeq_TypeDef::flags

Flags defining sequence type and details, see I2C_FLAG_ defines.


Definition at line 250 of file platform/emlib/inc/em_i2c.h

data#

uint8_t* I2C_TransferSeq_TypeDef::data

Buffer used for data to transmit/receive, must be len long.


Definition at line 258 of file platform/emlib/inc/em_i2c.h

len#

uint16_t I2C_TransferSeq_TypeDef::len

Number of bytes in data to send or receive.

Notice that when receiving data to this buffer, at least 1 byte must be received. Setting len to 0 in the receive case is considered a usage fault. Transmitting 0 bytes is legal, in which case only the address is transmitted after the start condition.


Definition at line 267 of file platform/emlib/inc/em_i2c.h

buf#

struct I2C_TransferSeq_TypeDef::@0 I2C_TransferSeq_TypeDef::buf[2]

Buffers used to hold data to send from or receive into, depending on sequence type.


Definition at line 268 of file platform/emlib/inc/em_i2c.h