CFBD_I2C_Message¶
Single I2C message description used for multi-message transfers. More...
#include <iic.h>
Detailed Description¶
Single I2C message description used for multi-message transfers.
Par:
- Message Direction
The flags field determines message direction:
- flags = 0: Write (master -> slave)
- flags = I2C_M_RD: Read (slave -> master)
- Example - Multi-Message Transaction
// Read register 0x20 from SSD1306 OLED display
CFBD_I2C_Message msgs[2];
uint8_t addr_byte = 0x20;
uint8_t reg_data[2];
// Message 1: Send register address (write)
msgs[0].addr = 0x3C; // OLED I2C address
msgs[0].flags = 0; // Write operation
msgs[0].len = 1;
msgs[0].buf = &addr_byte;
// Message 2: Read register contents
msgs[1].addr = 0x3C;
msgs[1].flags = I2C_M_RD; // Read operation
msgs[1].len = 2;
msgs[1].buf = reg_data;
// Execute both messages atomically
int status = CFBD_I2CTransfer(bus, msgs, 2, 1000);
Provides the address, flags, buffer pointer and length for one message in a potentially multi-message transfer. The addr field contains a 7-bit device address.
Updated on 2026-02-03 at 13:21:55 +0000