女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

Linux控制I2C/SMBus設備

CHANBAEK ? 來源:頭條號科G棧 ? 作者:頭條號科G棧 ? 2023-03-23 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

平臺:樹莓派 bcm2835 Raspberry Pi 3 Model B Rev 1.2

I2C是Philips開發的一種兩線通信協議,常用于一些對速度要求不高的小型器件上。SMBus是系統管理總線,基于I2C協議,大部分情況下二者兼容。

這次使用mpu6050作為I2C外設,學習Linux下I2C的應用開發。 樹莓派默認I2C可能沒有打開,需要配置重啟,具體方法這里不贅述。最終會在/dev下生成i2c-1設備。

poYBAGQbsx-ABKsSAAA9S4ro0uE175.jpg

1、需要的頭文件

pYYBAGQbsx-Ab_0RAABkaCBl-ic116.jpg

2、打開I2C設備

打開設備文件與打開普通文件沒有區別,使用open函數以讀寫的方式打開,返回值是該設備文件的文件描述符。

poYBAGQbsyCAXYbNAABMK-_Z830958.jpg

3、設置從設備的地址

每個I2C設備都有一個設備地址,使用ioctl函數設置這個地址。

pYYBAGQbsyGADe-bAABMf-2pB4w668.jpg

4、讀寫設備

到這里就可以讀寫設備了,Linux提供兩種方式。

a.使用write和read函數

poYBAGQbsyGAYdlFAACujYkU1BQ932.jpg

b.使用smbus提供的函數

pYYBAGQbsyKAQaunAAF6zsIlwMQ539.jpg

第一步的頭文件就是給這里提供支持的。使用這種方式需要安裝額外的庫,網上說需要安裝libi2c-dev,我沒驗證,請知道的指點一二。我這里安裝了i2c-tools工具,并且下載了i2c-tools的源碼并編譯安裝過,所以庫和頭文件都有了,現在也搞不清是哪一步操作安裝的了。

Linux官方文檔是推薦這種方式的,smbus提供了下面幾個函數。

poYBAGQbsySARwjlAAKhvI_5U4Q681.jpg

5、編譯

使用smbus編譯需要額外的參數-Llib和-li2c,否則提示找不到smbus提供的函數。我用了makefile方便編譯,當然使用gcc直接編也可以。

pYYBAGQbsyWASt3uAAAqnvtq21A305.jpg

其他:

i2c相關的頭文件在/usr/include/linux下

pYYBAGQbsyaAObZyAABZIkPIcAw552.jpg

smbus相關的頭文件在/usr/local/include/i2c下

poYBAGQbsyeAZprZAABWAIDgczA716.jpg

tips:學習如何使用Linux最好的資料應該是Documentation,至少從spi和i2c的應用開發角度看是這樣,再結合man手冊,很多問題都能解決。網上搜索的東西太亂太雜,作為輔助手段還行。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11509

    瀏覽量

    213715
  • 總線
    +關注

    關注

    10

    文章

    2959

    瀏覽量

    89729
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1541

    瀏覽量

    127786
  • SMBus
    +關注

    關注

    1

    文章

    124

    瀏覽量

    22626
  • 樹莓派
    +關注

    關注

    121

    文章

    2001

    瀏覽量

    107429
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    I2CSMBus之間的技術差異

    所制訂的先進組態與電源管理接口(AdvancedConfiguration& Power Interface;ACPI)規范中成為基礎的管理訊息傳遞接口、控制傳遞接口。 雖然I2CSMBus
    發表于 11-21 19:49

    如何使I2C主機成為SMBus主機?

    你好,我正在努力使I2C成為SMBUS的主人。我面臨以下問題1。SMBus奴隸的刪除插入使得S I2C接口被卡住。-原因-在ISR I2C
    發表于 09-19 07:57

    SMBusI2C有什么差別?

    系統管理總線(SMBus)是一個兩線接口。通過它,各設備之間以及設備與系統的其他部分之間可以互相通信。它基于I2C操作原理。SMBus為系統
    發表于 03-20 09:01

    基于嵌入式Linux演示I2C設備調試

      I2C是嵌入式設備最為常用的接口之一,常用于如下面這些應用場景,因此本文就基于嵌入式Linux演示在User Space進行I2C設備調
    發表于 09-18 15:21 ?3次下載

    Linux設備驅動開發詳解》第15章、LinuxI2C核心、總線與設備驅動

    Linux設備驅動開發詳解》第15章、LinuxI2C核心、總線與設備驅動
    發表于 10-27 11:19 ?8次下載
    《<b class='flag-5'>Linux</b><b class='flag-5'>設備</b>驅動開發詳解》第15章、<b class='flag-5'>Linux</b>的<b class='flag-5'>I2C</b>核心、總線與<b class='flag-5'>設備</b>驅動

    MSP430硬件I2C如何實現SMBus

    該應用報告描述了使用MSP430硬件I2C外圍設備實現系統管理總線(SMBus)。
    發表于 05-08 09:34 ?18次下載
    MSP430硬件<b class='flag-5'>I2C</b>如何實現<b class='flag-5'>SMBus</b>

    基于嵌入式Linux下的I2C設備驅動的總體思路與框架設計

    由于I2C總線的通用性,Linux作為一款優秀的嵌入式操作系統,也必須要對其要有很好的支持。在Linux內核源碼中對I2C總線的驅動是基于總線設備
    發表于 08-20 09:04 ?3931次閱讀
    基于嵌入式<b class='flag-5'>Linux</b>下的<b class='flag-5'>I2C</b><b class='flag-5'>設備</b>驅動的總體思路與框架設計

    linux自帶i2c工具使用

    I2C總線被全球超過50個公司的1000+個ICs所使用,已然是一個世界標準.另外,I2C總線與多種不同的控制總線是兼容的,比如SMBus(系統管理總線),PMBus(電源管理總線),
    發表于 05-13 09:23 ?4152次閱讀

    LinuxI2C驅動架構

    1.???? LinuxI2C驅動架構LinuxI2C總線的驅動分為兩個部分,總線驅動(BUS)和設備驅動(DEVICE
    發表于 04-02 14:38 ?784次閱讀

    I2C/SMBus地址轉換器

    I2C/SMBus地址轉換器
    發表于 04-20 10:44 ?5次下載
    <b class='flag-5'>I2C</b>/<b class='flag-5'>SMBus</b>地址轉換器

    LTC4316:單I2C/SMBus地址轉換器數據表

    LTC4316:單I2C/SMBus地址轉換器數據表
    發表于 05-20 16:57 ?1次下載
    LTC4316:單<b class='flag-5'>I2C</b>/<b class='flag-5'>SMBus</b>地址轉換器數據表

    LTC1694-1:SMBus/I2C加速器數據表

    LTC1694-1:SMBus/I2C加速器數據表
    發表于 05-25 13:16 ?1次下載
    LTC1694-1:<b class='flag-5'>SMBus</b>/<b class='flag-5'>I2C</b>加速器數據表

    I2C通信協議:了解I2C Primer、 PMBus和SMBus

    I2C Primer的基本特性和標準,并重點說明在通信實現過程中如何正確使用該協議。從I2C的基本原理出發,我們將介紹其變體子集——系統管理總線(SMBus)和電源管理總線(PMBus)——的可用性及二者的區別。這三種協議各有專
    的頭像 發表于 06-15 15:29 ?7522次閱讀
    <b class='flag-5'>I2C</b>通信協議:了解<b class='flag-5'>I2C</b> Primer、 PMBus和<b class='flag-5'>SMBus</b>

    I2C控制器驅動介紹

    控制器驅動 I2C 總線驅動重點是 I2C 適配器驅動,這里要用到兩個重要的數據結構:i2c_adapter 和 i2c_algorithm
    的頭像 發表于 07-22 15:38 ?1965次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>控制</b>器驅動介紹

    I2C子系統SW Architecture

    適配器(控制器)驅動,這里用到兩個重要的數據結構:i2c_adapter 和 i2c_algorithm。其中,Linux 內核將 SOC 的 I
    的頭像 發表于 07-22 16:01 ?1229次閱讀
    <b class='flag-5'>I2C</b>子系統SW Architecture