跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
折叠
品牌标识

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YTM32B1H系列
  4. I2C非挂死情况下,怎么恢复通讯?

I2C非挂死情况下,怎么恢复通讯?

已定时 已固定 已锁定 已移动 YTM32B1H系列
3 帖子 1 发布者 27 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • yxydoctorY 离线
    yxydoctorY 离线
    yxydoctor
    编写于 最后由 编辑
    #1

    样机使用了一颗外置RTC,采用ASYNCMODE模式,人为增加5ms超时等待。正常读没问题。

    短接SDA,SCL以模拟I2C故障,代码能判断出异常;但硬件短路取消后,I2C通讯不能恢复。

    IAR仿真环境下执行软件复位,I2C恢复正常,说明并不是RTC挂死问题,本身这颗RTC芯片就有0.5s免挂死机制。

    想请教一下,代码层面发现I2C异常后,如何自动恢复通讯?

    1 条回复 最后回复
    0
    • yxydoctorY 离线
      yxydoctorY 离线
      yxydoctor
      编写于 最后由 编辑
      #2

      补充一下:
      1-SDA允许短地,断开后通讯恢复;
      2-SCL不允许短地,断开后通讯不能恢复;
      3-取消短地后,SDA和SCL均为高电平,应该不是挂死的问题

      1 条回复 最后回复
      0
      • yxydoctorY 离线
        yxydoctorY 离线
        yxydoctor
        编写于 最后由 编辑
        #3

        补充二点:
        咨询了RTC厂家,对方做了类似测试,SCL,SDA多次短地后,其通讯能正常恢复。所以应该还是MCU侧,SCL短地后,通讯无法恢复,除非MCU复位

        1 条回复 最后回复
        0

      • 云途论坛规则/Yuntu Forum Rules

        发帖前请查看

      • YCT离线License申请流程

        帮助没办法联网的电脑使用YCT

      • YT CONFIG TOOL调查问卷

        帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...

      • demo
        11
        can
        8
        lin stack
        5
        yt-link
        5
        vscode
        3
        adc模块
        2
        i2c
        2
        uuid
        2
        Online Users
        • 登录

        • 登录或注册以进行搜索。
        • 第一个帖子
          最后一个帖子
        0
        • 版块
        • 最新
        • 标签
        • 热门