IIC的主机应答和从机应答有什么区别,分别用在什么地方,就是说什么时候用主机应答,什么时候用从机应答?

2025-01-07 02:27:59
推荐回答(2个)
回答1:

1、主机应答是发生在主机读取数据之后,比如主机要读1个字节八位的数据,这个时候,从机在接收到SCL发送的第九个上升沿时,主机就要控制SDA线,让SDA线为低电平进行应答,否则通信结束,但要注意的是,SCL线始终由主机控制,从机只能接收时钟线的信号
2、从机应答发生在从机接收数据的时候,比如主机要对从机进行1个字节八位的写入时,当从机接收完8位数据后,在主机SCL线发送第九个上升沿时,从机就要控制SDA线输出一个低电平作为应答

回答2:

IIC是按字节来传输的,当每传输完一个字节的数据,后面必须紧跟一个校验位,这个校验位是接收端通过控制SDA(数据线)来实现的,以提醒发送端数据我这边已经接收完成。
(SDA=0为ACK 接收完成 SDA=1为NACK 繁忙中)
主机应答: 传输完一个字节数据以后(数据传输方向:从机--->主机),主机控制(此时是接收端)SDA来提醒从机(发送端)我这边接受完成
从机应答: 传输完一个字节数据以后(数据传输方向:主机--->从机),从机控制(此时是接收端)SDA来提醒主机(发送端)我这边接受完成