11.1 I2C硬件
SCL,SDA,一条I2C总线可接很多设备,SCL,SDA放上拉电阻

11.2 传输数据类比
如何通过IIC传数据,
主设备:一主多从,可把数据从主设备发到从设备,也可从设备发到主设备
- 发送
主设备:开始(start)
主设备:A,我把数据发你(地址/方向)
A:收到(回应)
主设备:发送数据(传输)
A:收到后,告诉主设备(回应)
主设备:结束(停止)
- 接收
主设备:开始(start)
主设备:B,把数据发我(地址/方向)
B:收到(回应)
B:把数据发给主设备(传输)
主设备:收到数据后,告诉A(回应)
主设备:结束(停止)
11.3 IIC传输数据格式
11.3.1写操作
- 主设备发出start信号
- 发出设备地址,方向(读1/写0)
- 从设备发出应答信号
- 主设备发送一字节数据,等待回应
- 每传输一字节,接收方回应一次,在传输下一个数据
- 数据发送完成,主设备发送stop信号

11.3.2读操作

11.3.3 IIC信号
IIC协议栈数据传输单位是字节,但是要用到9个时钟,前面8个时钟用来传输8数据,第9个始终用来传输回应信号,先传输最高位
- 开始信号(S):SCL为高时,SDA由高跳低,开始传输数据
- 结束信号(P):SCL为高时,SDA由低跳高,结束传输数据
- 响应信号(ACK):接收到8位数据,第九个时钟周期,拉低SDA
- SDA数据必须在SCL高时稳定,只能在SCL为低时变化

11.3.4 协议细节
1.SDA引脚必须双向IO,因为有发有收
