0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2C传输发生timeout时

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-07-22 14:46 次阅读

I2C timeout

当 I2C 传输发生 timeout 时,一般 kernel log 会有类似如下打印:

[48.197718][xxx]i2c i2c-1: addr:0xa,transfer timeout

图片

1、GPIO check 以下几个部分

GPIO 电流驱动能力

GPIO 工作模式是否是 I2C 模式

GPIO 是否有内部上拉电阻

GPIO 默认电平状态

2、排查 slave 顺序

log 中第一个发生 timeout 的 slave

有 power 控制和 reset 控制的 slave

other slave

复现问题后,可以手动将相应外设去掉,确认是哪个外设将 i2c bus 拉住,再与供应商沟通,debug 一下该 IC 状态,理清拉住 i2c bus原因。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传输
    +关注

    关注

    0

    文章

    144

    浏览量

    27297
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1346

    浏览量

    120825
收藏 人收藏

    评论

    相关推荐

    i2c总线协议pdf

    I2C 总线规范目录1 序言
    发表于 08-13 17:16

    I2C规范,I2C总线原理

    I2C规范,I2C总线原理1 序言
    发表于 04-09 18:34

    求助一个I2C问题

    _GetFlagStatus(I2Cx, I2C_FLAG_BUSY))(Time_Out--)?delay_ms(1):I2C_TimeOut(I2Cx);/**********st
    发表于 09-05 15:22

    Micropython TPYBoard I2C的用法

    i2c.is_ready(addr),检测I2C设备是否响应,只对主模式有效i2c.mem_read(data, addr, memaddr, *, timeout=5000, add
    发表于 05-25 12:14

    浅谈I2C总线

    从该总线上取下,而不会影响其他设备。一些生产商比如 Microchip 公司、Philips 公司、Intel 公司等生产的小型微处理器都内置了 I2C 接口。I2C 总线的数据传输率比 SPI 总线
    发表于 11-30 11:50

    6678 I2C wait following flag timeout at device xx的问题

    您好,I2C 接了个TMP441温度传感器,读写时总是出现:I2C wait following flag timeout at device 0x98: Transmit-readyCurrent
    发表于 01-04 11:29

    到底什么是I2C

    、MCU、ASIC)传输到外围设备(温度传感器、湿度传感器及其它设备)。那I2C到底是什么呢……现在,为什么要使用它?I2C可以在同一总线上轻松实现多个外设 - 例如,使用各种传感器来监视服务器的温度
    发表于 07-23 04:45

    如何清除可能发生I2C错误?

    。有时它会在CyHalt或I2C自动生成代码中的一个阻塞语句(即“while”循环)中结束。什么是最好的方法来清除可能发生I2C错误,因为打开盖子随机?
    发表于 10-25 10:52

    i2c总线怎么传输

    你好,我有2个pic微芯片,在一张图片中我使用了3个变量:“variable1”,“variable2”和“variable3”。我想把它们通过i2c总线传输到我的另一张图片上。有谁能
    发表于 03-25 09:08

    HarmonyOS 驱动平台---I2C

    ,主从设备通过SDA(SerialData)串行数据线以及SCL(SerialClock)串行时钟线两根线相连,如图1 所示。I2C数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止
    发表于 09-16 18:54

    AT32 I2C程序使用讲解

    -- eeprom 使用示例关于I2C传输数据的流程,官方已经封装了一个应用层,用户无需再关心数据传输流程,只需要调用相关接口初始化I2C,然后再调用相关接口
    发表于 02-09 22:06

    I2C总线支持几种传输模式

    I2C 总线提供了一种串行通信方式,用在 MCU 与 EEPROM,LCD模块,温度传感器等等之间控制。I2C 用两条线 (数据线SDA 和时钟线 SCL) 在设备间传输数据。I2C
    发表于 02-11 07:05

    I2C总线简介

    总线时发生数据冲突。I2C 总线控制器,能满足 I2C 总线的各种规格并支持所有与 I2C 总线通信的传输模式。
    发表于 02-22 06:55

    微控制器通过I2C总线传输的值错误怎么解决?

    位置,0x00 -> 要写入该内存的数据)。 然而,在这些特定的 PCB 上,从设备的内存位置字节在 I2C 总线上传输不正确。µC“应该”传输 0x58 而不是 0x0A。 注意
    发表于 12-28 10:56

    LIS2DE12 I2C写入超时怎么处理?

    ;I2C Write Status(A): %d", i2c_write_status);i2c_write status 总是返回HAL_TIMEOUT
    发表于 01-16 08:00