i2c超时

1.有的时候读写的时候,从设备的反应时间不见得那么快 ,所以经常会出现i2c读写概率性的超时失败。特别是一次读写很多个byte的时候
所以需要将i2c中的超时等待时间调大一点。但是调太大的话会影响单次i2c的传输速率
2.i2c driver中有个retry操作,对于每次写单个byte都会概率性的出现i2c失败显示超时,即没有收到ack,那么不妨在设置retry次数为2.即当每次失败的时候
在重新发送或者读写一次。已降低发生i2c超时的概率

1
2
3
4
5
6
7
8
9
case I2C_RETRIES:
    client->adapter->retries = arg;
    break;
case I2C_TIMEOUT:
    /* For historical reasons, user-space sets the timeout
     * value in units of 10 ms.
     */
    client->adapter->timeout = msecs_to_jiffies(arg * 10);
    break;

  

posted @   轻轻的吻  阅读(2543)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2019-07-05 Windows 10系统快捷键
2018-07-05 NTSC、PAL、SECAM三大制式简介
点击右上角即可分享
微信分享提示