模拟IIC

mac2022-06-30  104

开始停止数据格式应答信号非应答信号

传输过程: 读取过程:

主机发送开始信号主机广播7位设备地址 & 0xFE (最后一位为0:写入地址)等待应答主机发送8位寄存器地址等待应答主机发送开始信号主机发送7位设备地址 | 0x01 (最后一位为1:读取地址)等待应答保存数据,主机返回非应答信号发送停止信号

写入过程:

主机发送开始信号主机广播7位设备地址 & 0xFE (最后一位为0:写入地址)等待应答主机发送8位寄存器地址等待应答发送 1 字节数据等待应答发送停止信号

应答信号: IIC的数据都是 1 字节(8bit)传输的,主机每发送完 1 字节数据后会在时钟的第 9 个周期释放SDA数据总线(将SD设为输入),由接收器发送一个ACK(把数据总线SDA电平拉低)表示数据成功接受。

非应答信号: 在诗中的第 9 个脉冲周期释放数据总线,接收器不拉低数据总线表示一个NACK,NACK有两种用途:

一般表示接收器未成功接受数据字节当接收器是主控制器时,它收到最后一个字节后,应该发送一个NACK信号来通知被控发送器结束数据发送,并释放总线,以便主控接收器发送一个停止信号STOP。
最新回复(0)