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):
I2C_FLAG_READ - Data read into buf[0].data
I2C_FLAG_WRITE - Data written from buf[0].data
I2C_FLAG_WRITE_READ - Data written from buf[0].data and read into buf[1].data
I2C_FLAG_WRITE_WRITE - Data written from buf[0].data and buf[1].data
Public Attributes#
Address to use after (repeated) start.
Flags defining sequence type and details, see I2C_FLAG_ defines.
Buffer used for data to transmit/receive, must be len
long.
Number of bytes in data
to send or receive.
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
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.
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.
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.
267
of file platform/emlib/inc/em_i2c.h
buf#
struct I2C_TransferSeq_TypeDef::@1 I2C_TransferSeq_TypeDef::buf[2]
Buffers used to hold data to send from or receive into, depending on sequence type.
268
of file platform/emlib/inc/em_i2c.h