博客專欄

        EEPW首頁 > 博客 > Linux驅動調試i2c設備從地址的確定

        Linux驅動調試i2c設備從地址的確定

        發布人:電子禪石 時間:2024-12-16 來源:工程師 發布文章

        有時候我們查看芯片的datasheet可以得到一個i2c的地址,但是我們直接使用它,

        配置到dts或者驅動當中使用,發現讀取不到設備id或者i2c通訊異常,

        此時排查硬件沒問題之后,就要看看這個i2c地址是否設置對了。

        比如我這里,i2c地址在datasheet寫了兩個,此時就不知道使用哪個了。

        ————————————————

        在這里插入圖片描述

        其實,i2c地址主要由7bit的二進制數值組成,最低位是讀寫標志位,0表示寫,1表示讀,具體可看下圖。

        在這里插入圖片描述

            所以我們在linux驅動中要取這個ic設備的從設備地址,就是0xA3或者0xA2右移一位得到,那就是0x51,dts配置如下:

           

        所以我們在linux驅動中要取這個ic設備的從設備地址,就是0xA3或者0xA2右移一位得到,
        那就是0x51,dts配置如下:
        
        		rtc@51{
        			compatible = "nxp,pcf8563";
        			reg = <0x51>;
        		};

           實際使用的是7位地址。

        讀寫的話,linux 驅動會自動填充這個地址。

        原文鏈接:https://blog.csdn.net/qq_30624591/article/details/112348782


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: i2c

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 固安县| 桐梓县| 成武县| 北流市| 芜湖市| 安龙县| 石楼县| 江川县| 方山县| 卓尼县| 昌平区| 巴里| 墨竹工卡县| 新野县| 平昌县| 西贡区| 栾城县| 阜康市| 施秉县| 嘉禾县| 建昌县| 临猗县| 加查县| 宁阳县| 本溪市| 仁寿县| 东辽县| 云南省| 河南省| 汉中市| 广昌县| 凯里市| 洪洞县| 安阳市| 千阳县| 塔河县| 遂川县| 阳江市| 壤塘县| 綦江县| 南溪县|