色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

I2C debug出現問題怎么解決

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:嵌入式Linux系統開 ? 2023-07-22 15:00 ? 次閱讀

RK 平臺 I2C debug

1、I2C 通信失敗,出現 log: “timeout, ipd: 0x00, state: 1”

請檢查硬件上拉是否給電。

2、調用 i2c_transfer 返回值為 -6?

返回值為 -6 表示為 NACK 錯誤,即對方設備無應答響應,這種情況一般為外設的問題,常見的有以下幾種情況:

  1. I2C 地址錯誤,解決方法是測量 I2C 波形,確認是否 I2C 設備地址錯誤;
  2. I2C slave 設備不處于正常工作狀態,比如未給電,錯誤的上電時序等;
  3. 時序不符合 I2C slave 設備所要求也會產生 Nack 信號

3、當外設對于讀時序要求中間是 stop 信號不是 repeat start 信號的時候,該如何處理?

這時需要調用兩次 i2c_transfer, I2C read 拆分成兩次,修改如下:

static int i2c_read_bytes(struct i2c_client *client, u8 cmd, u8 *data, u8 data_len) {struct i2c_msg msgs[2];
     int ret;
     u8 *buffer;
     buffer = kzalloc(data_len, GFP_KERNEL);
     if (!buffer)
         return -ENOMEM;
     msgs[0].addr = client- >addr;
     msgs[0].flags = client- >flags;
     msgs[0].len = 1;
     msgs[0].buf = &cmd;
     ret = i2c_transfer(client- >adapter, msgs, 1);
     if (ret < 0) {
      dev_err(&client- >adapter- >dev, "i2c read failedn");
            kfree(buffer);
       return ret;
      }
      msgs[1].addr = client- >addr;
      msgs[1].flags = client- >flags | I2C_M_RD;
      msgs[1].len = data_len;
      msgs[1].buf = buffer;
      ret = i2c_transfer(client- >adapter, &msgs[1], 1);
      if (ret < 0)
          dev_err(&client- >adapter- >dev, "i2c read failedn");
      else
        memcpy(data, buffer, data_len);
      kfree(buffer);
      return ret;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 通信
    +關注

    關注

    18

    文章

    6041

    瀏覽量

    136124
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1490

    瀏覽量

    123983
  • DEBUG
    +關注

    關注

    3

    文章

    94

    瀏覽量

    19935
收藏 人收藏

    評論

    相關推薦

    無法讀取I2C地址的調試案例

    引言:調試I2C從器件的第一步就是嘗試去讀它的地址,如果無法讀取地址或者向其發送讀寫命令卻沒有收到ACK回饋,都說明與器件通訊失敗。常規發生無法讀取I2C地址的情況時,第一懷疑點往往是硬件互聯出現問題,本節分享一個和軟件相關的調
    的頭像 發表于 11-02 18:24 ?2223次閱讀
    無法讀取<b class='flag-5'>I2C</b>地址的調試案例

    用STM8S207硬件I2C調試用輪詢的方式,一旦加入中斷,I2C的時序就出現了問題,為什么?

    用STM8S207 硬件I2C調試用輪詢的方式發現如果不加入其它中斷可以正常運行,一旦加入中斷,I2C的時序就出現了問題,比如用定時器如果設置成1MS定時每次都是錯誤的,定時100MS基本還是可以正常運行不過偶爾也會
    發表于 04-19 07:49

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節 I2C總線器件應用概述I2C總線工作原理I2C總線系統結構I2C總線系統結構如圖7-1所示。其中,SCL是時鐘線,
    發表于 08-13 17:34 ?0次下載

    I2C總線規范與I2C器件C51讀寫程序

    I2C總線規范與I2C器件C51讀寫程序:本文簡要介紹了I2C總線,并給出了I2C器件的C51讀
    發表于 08-22 17:51 ?93次下載

    I2C Guid I2C指南

    I2C Guid  I2C指南 The I2C bus is used in a wide rangeof applications because it is simpleand
    發表于 04-23 13:55 ?36次下載

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協議中文版 
    發表于 11-05 09:26 ?2933次閱讀

    i2c

    單片機i2c總線操作;單片機i2c總線操作;單片機i2c總線操作;
    發表于 05-17 11:09 ?35次下載

    I2C總線的基本通信總結

    公司在1980年開發的兩線式串行總線,至今已經發展30多年的歷史了。古老的電子產品中就已經在使用I2C總線了。I2C總線在所有總線中是最簡單,最穩定的一種,由于發展歷史久遠,所以I2C總線出現
    的頭像 發表于 08-26 14:08 ?1.8w次閱讀
    <b class='flag-5'>I2C</b>總線的基本通信總結

    硬件I2C與模擬I2C

    硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的I2C;一般也較為穩定,但
    發表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    Linux ftrace工具抓 i2c trace

    i2c trace adb rootecho nop > /sys/ kernel/debug/tracing/current_tracer //清空以前的跟蹤信息 echo 1 > /sys
    的頭像 發表于 07-20 11:23 ?1255次閱讀
    Linux ftrace工具抓 <b class='flag-5'>i2c</b> trace

    I2C傳輸發生timeout時

    順序 log 中第一個發生 timeout 的 slave 有 power 控制和 reset 控制的 slave other slave 復現問題后,可以手動將相應外設去掉,確認是哪個外設將 i2c bus 拉住,再與供應商溝通,debug 一下該 IC 狀態,理清拉
    的頭像 發表于 07-22 14:46 ?2557次閱讀
    <b class='flag-5'>I2C</b>傳輸發生timeout時

    I2C子系統debug的常見問題

    常見問題 1、同一條 i2c bus 上所有的外設的 i2c addr 要不同 1)相同 address 注冊時沖突 [ 2.059184 ][xxx]i2c i2c- 1 :Fail
    的頭像 發表于 07-22 14:52 ?978次閱讀

    如何解決I2C器件死鎖的問題?

    如何解決I2C器件死鎖的問題? I2C總線是一種流行的串行通信協議,在許多嵌入式系統中使用。I2C可以連接多個從屬設備到一個主控設備上,簡化了系統設計和管理。然而,當I2C總線上的從屬
    的頭像 發表于 09-12 11:18 ?2507次閱讀

    i2c采樣是上升沿嗎?

    i2c采樣是上升沿嗎?? I2C采樣是指在I2C總線上對數據進行采樣。在I2C總線上,數據的傳輸是通過2條線傳遞。一條是時鐘線(SCL),另
    的頭像 發表于 09-19 17:16 ?2796次閱讀

    什么是I2C協議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現的一個問題就是死鎖 ,死鎖在I2C中主要表現為:I2C死鎖時表現為SCL為高,SDA一直為低。
    發表于 03-12 09:17 ?1096次閱讀
    什么是<b class='flag-5'>I2C</b>協議 <b class='flag-5'>I2C</b>總線的控制邏輯
    主站蜘蛛池模板: 欧美黄色xxx| 丰满少妇69激懒啪啪无码| 久久无码AV亚洲精品色午夜麻豆 | 韩国羞羞秘密教学子开车漫书| 国产精品手机在线视频| 在教室伦流澡到高潮H免费视频 | 日韩在线视频www色| 久久99热成人精品国产| 国产成人a在一区线观看高清| 秀婷程仪公欲息肉婷在线观看| 男人电影天堂手机| 黄色小说男男| 国产精品久久久久久久久久免费 | 中国女人内谢69xxxxxx直播 | yellow在线中文| 最新国产在线视频| 亚洲三级视频| 性虎成人网| 熟妇内谢69XXXXXA片| 京香在线播放| 国产精品线路一线路二| 扒开女人下面使劲桶动态图| 最新高清无码专区| 一边亲着一面膜下的免费过程| 校花的奶好大好浪| 天天躁日日躁狠狠躁AV麻豆| 欧美性最猛xxxx在线观看视频| 鲁一鲁亚洲无线码| 久久伊人精品青青草原2021| 吃春药后的女教师| GAY东北澡堂激情2022| 2021全国精品卡一卡二| 十九禁啊啪射视频在线观看 | 国产中文在线| 国产色精品久久人妻无码看片软件| 妇少水多18P蜜泬17P亚洲乱| Chineseman瘦老头77| caoporen超碰在线视频| 97亚洲狠狠色综合久久位| 2022国产麻豆剧传媒剧情| 在线国产a不卡|