李卿辛0092 2024-08-20 15:19 采纳率: 100%
浏览 8
已结题

i2c配置为上拉开漏输出问题

为什么 0.96oled 屏幕可以由 stm32 配置为上拉开漏输出驱动,但是 at24c128 配置成上述条件却不能驱动呢,必须再外接上拉电阻才能驱动。

  • 写回答

2条回答 默认 最新

  • 不会编程的涛涛 2024-08-21 09:22
    关注
    1. 开漏输出的工作原理
      开漏输出(Open-drain或Open-collector)指的是输出引脚只通过一个开关(通常是晶体管)连接到地(GND),而不直接驱动高电平。换句话说,当输出为低电平时,开关关闭,信号线被拉低到地电位;当输出为高电平时,开关断开,信号线悬空。因此,信号线上必须接有一个上拉电阻才能将电压拉到高电平(VCC)。

    2. 0.96 OLED屏幕的情况
      许多0.96寸OLED屏幕模块集成了I2C接口,通常在模块内部已经包含了上拉电阻。因此,当STM32配置为开漏输出时,OLED屏幕的I2C线仍能正常工作,因为内置的上拉电阻提供了将信号线拉到高电平所需的拉力。

    3. AT24C128 EEPROM的情况
      AT24C128是一个I2C EEPROM,它本身不包含上拉电阻。根据I2C协议的要求,SCL和SDA线必须有上拉电阻,以确保这些线在空闲状态下保持高电平。因为STM32配置为开漏输出时无法主动驱动高电平(只能拉低),如果没有外部上拉电阻,SCL和SDA线将保持悬空状态,这将导致I2C通信失败。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 修改了问题 8月22日
  • 创建了问题 8月20日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?