在线观看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)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 通信
    +關(guān)注

    關(guān)注

    18

    文章

    6036

    瀏覽量

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

    關(guān)注

    28

    文章

    1489

    瀏覽量

    123907
  • DEBUG
    +關(guān)注

    關(guān)注

    3

    文章

    94

    瀏覽量

    19934
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

    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 ?93次下載

    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總線  下載請點(diǎn)擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?2924次閱讀

    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.8w次閱讀
    <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 ?1247次閱讀
    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 ?2549次閱讀
    <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 ?967次閱讀

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

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

    i2c采樣是上升沿嗎?

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

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

    在實(shí)際使用過程中,I2C比較容易出現(xiàn)的一個問題就是死鎖 ,死鎖在I2C中主要表現(xiàn)為:I2C死鎖時表現(xiàn)為SCL為高,SDA一直為低。
    發(fā)表于 03-12 09:17 ?1087次閱讀
    什么是<b class='flag-5'>I2C</b>協(xié)議 <b class='flag-5'>I2C</b>總線的控制邏輯
    主站蜘蛛池模板: sihu在线| 欧美黄又粗暴一进一出抽搐| 国产午夜视频在线观看第四页 | 亚洲精品第三页| 天堂8资源8在线| 天天摸天天干天天操| 天天干天天狠| 免费观看成年欧美1314www色| 国产午夜精品久久理论片小说| 8050午夜网| 中文字幕国产一区| 操爽视频| 久久天天躁夜夜躁狠狠| 国产精品午夜剧场| 美国bj69video18| 免费视频一区二区| 亚洲 自拍 欧美 综合| 手机在线黄色网址| 欧美mv日韩mv国产mv网站| 国内精品免费视频精选在线观看| 日韩a一级欧美一级| 性欧美f| 三级视频网站| 米奇色影院| 成人五级毛片免费播放| 天天草综合| 亚洲综合在线最大成人| 三级www| 日本一区免费看| 亚洲国产丝袜精品一区杨幂 | 国产h视频在线观看| 国产黄色一级网站| 中文字幕一区二区三区免费看| 最新理论三级中文在线观看| 在线免费看黄视频| 中文一级黄色片| 日韩精品在线一区二区| 国产一级特黄特色aa毛片| 国产精品你懂得| 天天插夜夜| 男人搡女人视频免费看|