单片机模拟I2C中关于应答信号的迷惑

[复制链接]
3033|3
 楼主| gexish 发表于 2011-4-22 21:49 | 显示全部楼层 |阅读模式
大家好,最近学习用单片机模拟I2C传输数据,但对于应答信号却一直搞不明白,如下:

当单片机收到设备的应答信号后,单片机应该作什么反应?

   关于应答函数,网上很多都只是这样描述:当SDA==1,ACK=0(表示接收失败);当SDA==0,ACK=1(表示接收成功)。这样我认为只是对是否收到应答信号作了判断,但没说到之后单片机应分别作什么反应。

  迷惑中,请大家指教,谢谢!!
常来21IC 发表于 2011-4-22 22:23 | 显示全部楼层
具体做什么由程序员决定。
主机收到应答信号,说明从机已经正确收到数据或者命令了,主机继续做该做的,比如继续发数据或者给上层报正确;
收不到应答信号,说明从机未能正确收到数据或者命令了,主机应该给上层报错。
ayb_ice 发表于 2011-4-23 08:22 | 显示全部楼层
别人已经把信息发给你了,怎么处理是你自己的事
最简单的处理,当从机没有正确应答的旰时候,就可以提前结束IIC操作了

评分

参与人数 1威望 +1 收起 理由
gexish + 1

查看全部评分

abin0415 发表于 2011-4-24 19:10 | 显示全部楼层
楼上正解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部