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

YunTu Forum

YTMicro.com
  1. 主页
  2. Discussion & Question
  3. YT MCAL
  4. HA0 I2C NACK电平无法恢复

HA0 I2C NACK电平无法恢复

已定时 已固定 已锁定 已移动 未解决 YT MCAL
1 帖子 1 发布者 19 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • swustS 离线
    swustS 离线
    swust YunTu
    编写于 最后由 编辑
    #1

    背景

    软件版本:HA0 MCAL 2_3_0
    硬件:YTM32B1HA01 EVB

    问题描述

    I2C master I2C_STANDARD_MODE模式通信,如果主机未收到应答信号,SCL会持续保持低电平状态,直到下次开始通信。

    问题原因

    在从机返回NACK时,驱动中会调用I2C_Lld_MasterEndTransfer复位TX和RX FIFO,若通信速率较低,那么可能会出现硬件还没完成收尾动作软件便清FIFO结束传输的情况。

    解决方案

    I2C_Lld_MasterNACKDetEventHdl函数中在调用I2C_Lld_MasterEndTransfer清除FIFO之前预留超时时间,如下图:
    7b336797-86f8-4894-bb2d-2923a6e5b7f1-image.png
    [CddI2c_Master_Slave_Demo_YTM32B1HA0.7z](无效文件格式,允许的格式有:.png, .jpg, .bmp, .txt, .webp, .webm, .mp4, .gif, .hex, .bin, .s19, .elf, .zip, .patch, .pdf, .yct, .jpeg) CddI2c_Master_Slave_Demo_YTM32B1HA0 (2).zip

    1 条回复 最后回复
    0

  • 云途开发生态介绍

    快速上手云途开发生态

  • 云途论坛规则/Yuntu Forum Rules

    发帖前请查看

  • YT CONFIG TOOL调查问卷

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

  • can
    29
    demo
    26
    uds
    14
    lin stack
    13
    fbl
    6
    md14
    6
    yt-link
    6
    adc模块
    4
    Online Users
    D
    Derrick
    perry陈P
    perry陈
    • 登录

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