Hello,
I have an urgent problem.
I saw some words in the write operation in the datasheet:
After a restart, the value of the register defined by the command byte matches the register being accessed when the restart occurred. For example, if the command byte references Input Port 1 before the restart, the restart occurs when Input Port 0 is being read. The original command byte is forgotten. If a subsequent restart occurs,Input Port 0 is read first. Data is clocked into the register on the rising edge of the ACK clock pulse. After the first byte is read, additional bytes may be read, but the data now reflect the information in the other register in the pair. For example, if Input Port 1 is read, the next byte read is Input Port 0.
My confusion: 1.Why the read operation start when the restart signal just happen? I think the read operation should start after the host send restart signal + slave address.
2. Datasheet says that when the system power up , all pin are input status by default, write output port register won't influence the value of pin. I don't configurate the pin to output status, just write the output port register directly, but I still obtained the electrical levels I wanted, what's the reason of this please?
Thanks a lot!