在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

I2C debug出現(xiàn)問題怎么解決

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

RK 平臺 I2C debug

1、I2C 通信失敗,出現(xiàn) log: “timeout, ipd: 0x00, state: 1”

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

2、調(diào)用 i2c_transfer 返回值為 -6?

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

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

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

這時需要調(diào)用兩次 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;
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6185

    瀏覽量

    137475
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1537

    瀏覽量

    127230
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    94

    瀏覽量

    20422
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    無法讀取I2C地址的調(diào)試案例

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

    i2c總線ppt(I2C總線器件應(yīng)用)

    I2C總線器件應(yīng)用第一節(jié) I2C總線器件應(yīng)用概述I2C總線工作原理I2C總線系統(tǒng)結(jié)構(gòu)I2C總線系統(tǒng)結(jié)構(gòu)如圖7-1所示。其中,SCL是時鐘線,
    發(fā)表于 08-13 17:34 ?0次下載

    I2C總線規(guī)范與I2C器件C51讀寫程序

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

    I2C Guid I2C指南

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

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?3028次閱讀

    i2c

    單片機(jī)i2c總線操作;單片機(jī)i2c總線操作;單片機(jī)i2c總線操作;
    發(fā)表于 05-17 11:09 ?35次下載

    I2C總線的基本通信總結(jié)

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

    硬件I2C與模擬I2C

    硬件I2C對應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動電路,其所使用的I2C管腳也是專用的,因而效率要遠(yuǎn)高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 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
    的頭像 發(fā)表于 07-20 11:23 ?1609次閱讀
    Linux ftrace工具抓 <b class='flag-5'>i2c</b> trace

    I2C傳輸發(fā)生timeout時

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

    I2C子系統(tǒng)debug的常見問題

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

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

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

    i2c采樣是上升沿嗎?

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

    什么是I2C協(xié)議 I2C總線的控制邏輯

    在實際使用過程中,I2C比較容易出現(xiàn)的一個問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1633次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯

    I2C總線故障排除技巧

    I2C總線是一種廣泛使用的串行通信協(xié)議,它允許多個設(shè)備在兩條線上(數(shù)據(jù)線SDA和時鐘線SCL)進(jìn)行通信。由于其簡單性和靈活性,I2C總線在嵌入式系統(tǒng)中非常流行。然而,當(dāng)I2C總線出現(xiàn)問題
    的頭像 發(fā)表于 01-17 15:20 ?2040次閱讀
    主站蜘蛛池模板: 一区二区影视 | 手机在线黄色网址 | 国产一线在线观看 | h视频网站在线 | 日日爽视频 | 婷婷综合久久中文字幕蜜桃三 | 88av视频在线| 色多多污网站在线观看 | 国产大乳孕妇喷奶水在线观看 | 在线色站 | 亚州一级毛片在线 | 免费观看国产网址你懂的 | 色人久久 | 免费一级特黄特色黄大任片 | 4hc44四虎www亚洲| 天堂8在线天堂资源在线 | 手机看片1024日韩 | 天堂中文在线www | 日本污全彩肉肉无遮挡彩色 | 国产成人在线播放视频 | 日本黄色美女视频 | 国产日日夜夜 | 李老汉的性生生活2 | 日本免费高清 | 天堂在线中文无弹窗全文阅读 | 噜噜噜天天躁狠狠躁夜夜精品 | 五月婷婷一区 | 福利视频自拍偷拍 | 七月婷婷在线视频综合 | 亚洲操综合 | 欧美xxxxxbbbb | 六月丁香深爱六月综合激情 | 老色批午夜免费视频网站 | 男人天堂色男人 | 亚洲综合在线一区 | 最新bt合集 | 日本三级hd高清电影 | 一级片观看 | 性色网站 | 日本免费人成黄页网观看视频 | 亚洲资源在线播放 |