首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I2C主机应该总是在NAK后发送停止条件吗?

问I2C主机应该总是在NAK后发送停止条件吗?
EN

Stack Overflow用户
提问于 2021-06-18 05:30:09
回答 1查看 391关注 0票数 0

根据I2C规范,NAK有五个原因:

  1. 总线上没有具有发送地址的接收器,因此没有以确认响应的设备。
  2. 接收器无法接收或发送,因为它正在执行一些实时功能,并且没有准备好开始与主机的通信。
  3. 在传输过程中,接收方获取它不理解的数据或命令。
  4. 在传输期间,接收方无法接收更多的数据字节。
  5. 主接收机必须将传输的结束信号发送到从发送器.

在所有这些情况下,I2C主服务器是否应该使用停止条件来结束通信?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-18 05:58:26

如果你阅读你引用的I2C规范 (第3.1.6节)之前的段落:

当SDA在这第九个时钟脉冲期间保持较高时,这被定义为不确认信号。然后,主服务器可以生成中止传输的停止条件,也可以生成重复的启动条件来启动新的传输。有五种条件导致产生黑人:

  1. 总线上没有具有发送地址的接收器,因此没有以确认响应的设备。
  2. 接收器无法接收或发送,因为它正在执行一些实时功能,并且没有准备好开始与主机的通信。
  3. 在传输过程中,接收方获取它不理解的数据或命令。
  4. 在传输期间,接收方无法接收更多的数据字节。
  5. 主接收机必须将传输的结束信号发送到从发射机。

主程序不能总是发送停止条件,但它必须发送停止条件或重复启动条件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68029781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档