泡澡青蛙_ 2024-01-02 00:28 采纳率: 0%
浏览 10

求解I2C中为什么接收应答和接受数据要拉高SDA置1

img

img

个人理解:发送数据,主机向从机发送数据后从机应答,可是这里要拉高SDA为1那么主机控制权就给到从机,从机发送应答,此时控制权是从机,主机就发送不了数据给从机了?

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2024-01-02 02:02
    关注

    【相关推荐】



    • 建议你看下这篇博客👉 :原子的模拟I2C配置有疑问,SDA_IN的时候,为什么还能IIC_SDA=1,也就是配置为输入的时候还能输出?
    • 除此之外, 这篇博客: I2C协议简单总结中的 当存在多个主机同时请求总线控制怎么办?—仲裁,谁先拉低SDA谁掌握总线控制权 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      各个主控制器没有对总线实施控制的优先级别,都是由仲裁决定的。**总线控制随即而定且逐位进行,他们 遵循“低电平优先”的原则,即谁先发送低电平谁就会掌握对总线的控制权。**在每一位的仲裁期间,当 SCL 为高时,每个主机都检查自己的 SDA 电平是否和自己发送的相同。理论上讲,如果两个主机所传输的内容 完全相同,那么他们能够成功传输而不出现错误。如果一个主机发送高电平但检测到 SDA 电平为低,则认 为自己仲裁失败并关闭自己的 SDA 输出驱动,而另一个主机则继续完成自己的传输。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 1月2日

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么