Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346666
  • 博文数量: 73
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 421
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-03 15:18
个人简介

做笔记用,多为转载。

文章分类

全部博文(73)

文章存档

2016年(2)

2015年(29)

2014年(19)

2013年(23)

我的朋友

分类: LINUX

2014-06-21 23:27:21

对iic总线来说工作在中断和非中断模式在时序上是相同的,只不过在非中断模式下是通过检测ACK信号来
判断从设备响应了,在中断模式下是通过中断信号来判断从设备响应了,一般是读主CPU侧的iic控制器的
中断标志来判断的。

master时发送slave地址后接收到ACK信号然后产生中断,
slave 时接收到的数据是自己的地址时会产生中断。
如果在进行了一个操作从设备没有中断信号响应的话,那么iic的SCL会被拉低,一直等待。
根据IIC协议,IIC从机可以在通讯过程中通过拉低SCL线迫使主机进入等待状态,当从机准备好之后再释放SCL线继续数据传输.
也就是当iic中断标志位被置1时,SCL是被拉低的,当我们检测到中断标志位被置1时需清空该寄存器以便使能下一组数据的发送
那么当从设备发生异常情况,无法应答时,从设备也会主动将SCL拉低,阻止后续数据的继续发送。

阅读(7580) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~