I2C_TransferSeq_TypeDef Struct Reference
Master mode transfer message structure used to define a complete I2C transfer sequence (from start to stop).
#include <em_i2c.h>
Data Fields |
|
uint16_t | addr |
Address to use after (repeated) start.
|
|
uint16_t | flags |
Flags defining sequence type and details, see I2C_FLAG_ defines.
|
|
struct { | |
uint8_t * data | |
Buffer used for data to transmit/receive, must be
len
long.
|
|
uint16_t len | |
Number of bytes in
data
to send or receive.
|
|
} | buf [2] |
Buffers used to hold data to send from or receive into, depending on sequence type.
|
|
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
Field 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
◆ flags
uint16_t I2C_TransferSeq_TypeDef::flags |
Flags defining sequence type and details, see I2C_FLAG_ defines.
◆ data
uint8_t* I2C_TransferSeq_TypeDef::data |
Buffer used for data to transmit/receive, must be
len
long.
◆ 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.
◆ buf
struct { ... } I2C_TransferSeq_TypeDef::buf[2] |
Buffers used to hold data to send from or receive into, depending on sequence type.