博客專欄

EEPW首頁(yè) > 博客 > Linux驅(qū)動(dòng)調(diào)試i2c設(shè)備從地址的確定

Linux驅(qū)動(dòng)調(diào)試i2c設(shè)備從地址的確定

發(fā)布人:電子禪石 時(shí)間:2024-12-16 來(lái)源:工程師 發(fā)布文章

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

配置到dts或者驅(qū)動(dòng)當(dāng)中使用,發(fā)現(xiàn)讀取不到設(shè)備id或者i2c通訊異常,

此時(shí)排查硬件沒問(wèn)題之后,就要看看這個(gè)i2c地址是否設(shè)置對(duì)了。

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

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

在這里插入圖片描述

其實(shí),i2c地址主要由7bit的二進(jìn)制數(shù)值組成,最低位是讀寫標(biāo)志位,0表示寫,1表示讀,具體可看下圖。

在這里插入圖片描述

    所以我們?cè)?/span>linux驅(qū)動(dòng)中要取這個(gè)ic設(shè)備的從設(shè)備地址,就是0xA3或者0xA2右移一位得到,那就是0x51,dts配置如下:

   

  1. 所以我們?cè)趌inux驅(qū)動(dòng)中要取這個(gè)ic設(shè)備的從設(shè)備地址,就是0xA3或者0xA2右移一位得到,  
  2. 那就是0x51,dts配置如下:  
  3.   
  4.         rtc@51{  
  5.             compatible = "nxp,pcf8563";  
  6.             reg = <0x51>;  
  7.         };  

   實(shí)際使用的是7位地址。

讀寫的話,linux 驅(qū)動(dòng)會(huì)自動(dòng)填充這個(gè)地址。

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


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: i2c

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉
×

有奖问卷
英飞凌400V CoolSiC™重新定义高性能电源设计的功率密度和效率,含有奖小问卷,限前200名工程师!