首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >i2c协议NACK模糊度

i2c协议NACK模糊度
EN

Stack Overflow用户
提问于 2015-07-16 09:06:13
回答 1查看 1.2K关注 0票数 4

我有一个关于I2C协议的问题。我在维基百科的网页上找到了这个。

“如果发射机看到1位(NACK),它就会了解到:

1)从站无法接受数据。( 2)没有这样的从命令不被理解,4)不能接受更多的数据。“

第一点和第四点似乎相互矛盾。情况是:我试图在微控制器之间进行通信,因此,其中一个将充当主从,另一个将充当主从,我正在从主程序中传输10个字节,而在我的实现中,从主到从只能接收5个字节。

因此,我的问题是,根据i2c协议,在接收到第5个字节后,从服务器什么时候应该发送NACK ? 1)。( 2)接收到第6字节后。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-17 18:56:30

这是一个很好的问题。我已经回顾了实际的I2C规范(manual/UM10204.pdf),它为NACK列出的条件之一是“在传输期间,接收方不能接收更多的数据字节”。但是,我看到的从主机发送的每一段代码都认为接收到的NACK是一个错误。

我的经验是,从设备不会占用过多的字节:它们要么在内部包装,要么默默地丢弃额外的数据。

我的感觉是,如果您确实希望NACK过剩的数据,您应该NACK第6字节(在那里,您期望5)。

请注意,这与主接收数据的情况不同,在主接收数据中,在停止之前需要NACK最后一个字节。在规范中的分隔线项中描述了这一点:“主接收机必须将传输的结束信号发送到从发射机”。

所有这些信息都在规范的3.1.6节中。

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

https://stackoverflow.com/questions/31449899

复制
相关文章

相似问题

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