首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >I2C、上拉电阻(STM32发现)

I2C、上拉电阻(STM32发现)
EN

Stack Overflow用户
提问于 2011-07-26 22:01:55
回答 1查看 5.6K关注 0票数 2

我正在发送我的数据I2C (使用DMA每1s)。我已经在SCK和SDATA中添加了两个上拉电阻。现在有了从属,所以因为没有响应,所以主机只发送从属地址,仅此而已。

它的试验板,所以有时会发生,我失去这些上拉电阻一段时间。当这种情况发生时,我没有得到更多的数据,SCK在这个频率下尽可能快地计时。没有办法解决它,拉回没有帮助,我必须重置我的主板。

我无法解释这种行为,它完全扼杀了公交车。

EN

回答 1

Stack Overflow用户

发布于 2011-07-27 04:30:26

正如您已经看到的,上拉电阻对i2c总线至关重要,在sda和scl线路中都是如此。通常很明显,sda线路是双向的,但不那么明显的是,scl也有些双向,因为从设备可以将线路保持在低电平以降低总线的速度。

在许多情况下,总线可能会因为冲突或其他物理问题而被锁定,在这种情况下,一些从机无法正确释放总线,因为它们知道它们仍在被寻址。这种情况可以通过主机发送输出SCL脉冲以及线路释放时的停止条件来解决。然而,如果你说没有奴隶,这可能不是你的情况。

我担心您的问题可能与主机的i2c外设没有看到预期的线路高,因为拉出暂时断开。在你的情况下,我能想到的最好的解决方案是你应该确保你不会放松那些引体向上。实现这一点的最好方法是在每条线路上并联连接两个或三个电阻器,这样就必须断开所有两个/三个电阻的连接,以使总线“不被拉”。将两个10k电阻并联用于SDA,另外两个用于SCL。

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

https://stackoverflow.com/questions/6831214

复制
相关文章

相似问题

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