1. I2c timing protocol;
1) WRTIE:
In the case of writing, we need to use only one message;
-Start -|Addr+w| register| data| -stop-
2) READ:
when reading, we need two.
-Start -|Addr+w| register| -stop-
-Start -|Addr+r| data....| -stop-
In the slave view
When slave recieved the Addr+w, Slave enter recieve interrupt.
When slave recieved the Addr+r, Slave enter transmit interrupt.
===================================
I2cdetect 实际上是调用了SMBBUS 的接口:
它事实上等价与 smbus_read_byte()(没有指定要读的register); 只是并不关心读取的那一byte 是什么, 只要有回应数据即可!
-Start -|Addr+r| 1 byte data| -stop-
I2c 设备是通过i2c_detect ()函数来完成的!只有被detect 到的device 才能被注册!