求解!!!89C51模拟的I2C通信中的应答信号和非应答信号的SDA和SCL怎么变化和理解的,好蒙啊!最好详细点

 我来答
sinside8888
2012-05-27 · TA获得超过431个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:135万
展开全部
ACK(应答SDA=0)和NACK(非应答SDA=1)的使用猛宽实际上是取决你的通讯协议的:

1. 如果是89C51要和其他设备通讯,要看通讯设雹郑备的通讯要求,下面是接触得较多的用法:
从机给ACK表示让主机继续发送数据,NACK表示不接收了,让主机给STOP信号。

2. 如果89C51和89C51之间通讯,特别是用模拟的方式,接收和发送都是由你自己控制。你可以在通讯过程忽略ACK/NACK,写的时候,从机(SLAVE)一直接收直到主机给出STOP信号,读的时候也要先写,这时候可源知颂以写一个读的长度让从机知道。(这个可以根据需要自己制定通讯协议)

不知道你所谓的变化和理解具体是什么,所以只是简单回答如上。
追问
恩恩,我的变化是说sda和SCL的时序变化,
追答
ACK: 在SCL第9个时钟的时候让SDA=0(低电平),SDA要在SCL是低电平的时候改变,
NACK: 在SCL第9个时钟的时候让SDA=1(高电平),
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式