
The SLAVE_ADDR selects the device (it is open know to take more), REG_ADDR is the register address inside the chip and the DATA_WORD what to write to this register (inside the selected chip). So, the bus transmit this: SLAVE_ADDR REG_ADDR DATA_WORD It means often: send a data stream, where the first byte is a register address (inside the chip) and the following the data byte to write.

Selected chip means: send an I2C transaction with the correct slave address.īut the following data is a "protocol": now it matters what the data stream via I2C is. When it comes to writing a (register address) inside a (selected) chip: Just if a slave sees "its address" - it will act (and only this one! and there can be different slaves but all must have a different slave address, never sharing the same address!) the slaves, all, are listening in parallel, on the same bus: they wait until they see "its slave address sent" (which is the first byte sent on the bus).Therefore, you have to specify the slave address to which one you want to send a message

All servers have a different slave address. These are "busses": separated wires, different wires and interfaces for master and slavesĪll hang now on the same bus: one master, several servers.
