IIC首个地址,必定是从机器件规定的合法地址。 每个IIC芯片都自己定义了该地址,该地址是7位,有些器件可以通过硬件或软件修改该地址,比如24C02,可以通过物理引脚对VCC还是GND来定义器件地址。而器件的读写,就是地址后续1位。 写过程是这样的:主控发从器件合法地址后(第8位为0),从器件通过ACK应答,建立握手,随后就是从器件内部寄存器地址(一般的IIC操作,特殊的也有约定后续的是所谓的命令),然后就是需要写入的数据,完成后,一个STOP,相互放弃对总线的控制结束这一过程。 读过程是这样的:主控发从器件合法地址后(第8位为1),从器件通过ACK应答,建立握手,随后就是从器件内部寄存器地址,然后从器件将内部寄存器数据放到总线上,主器件读该数据,然后STOP,完成这一过程。 至于每个数据后面的是ACK还是NOACK,是主控ACK还是从器件ACK,各芯片IIC时序是有所区别的,具体的看你自己IIC芯片的数据手册。
27,373
社区成员
28,771
社区内容
加载中
试试用AI创作助手写篇文章吧