参考链接:I2C基础知识学习
主机向从机写数据的过程
1.start信号;
2.从机地址,7位地址;
3.读写位, 一位读写(R/W)位,0:写,1:读;
4.等待从机应答信号;
5.当主机收到从机的应答信号,然后发送访问的从机寄存器地址;
6.再次等待应答信号;
7.等到从机的应答信号,发送一个字节的数据;
8.再次等待应答信号;
9,当主机收到应答信号时,产生停止信号,结束传送过程。
时序分析
1.数据字节高位在前,地位在后;先传输高位,在传输低位;
2.时钟在高电平期间,数据线上的数据必须保持稳定,也就是说,在时钟为高电平的时候,数据线上的数据是要传输的数据;而在时钟为低电平时,数据线上的数据可以进行变化。
每次传输一个字节的数据需要发送9个时钟,一个完整的字节数据传输需要9个时钟脉冲。 8位数据位+1位应答位;
在第9个时钟时,sda高电平为NAK,低电平为ACK。