I have a general question regarding the wire.write() function. I understand that to move the address pointer to a specific register you include the register address in "()". Then, if you have data to write to each subsequent register, you can simply include that byte of data in each subsequent wire.write(_ command and the data will be loaded into the buffers sequentially. My questions are as follows:
- If no register address is included, and you've connected to a peripheral device on the bus, does the controller assume the first register address is just 0x00?
- How is a slave address understood through the wire.write() command to be a slave address and not the data to transmit? It's all just 1's and 0's. How does it know the difference? What if your 7 bits of data match the slave address? How is that handled?
Thanks for anyone's help with this.