<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux的ARM/DSP多機(jī)I2C通信

          基于嵌入式Linux的ARM/DSP多機(jī)I2C通信

          作者: 時(shí)間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

          內(nèi)核源代碼中drivers目錄下的i2c_dev.c文件,是通用的總線設(shè)備驅(qū)動(dòng)文件,為應(yīng)用程序提供open()、write()、read()、ioctl()和close()等操作接口來訪問設(shè)備。應(yīng)用層可以借用這些接口訪問掛接在適配器上的總線設(shè)備的存儲(chǔ)空間或寄存器,并控制總線設(shè)備的工作方式。
          2.1.3 S3C2440的I2C總線驅(qū)動(dòng)及設(shè)備驅(qū)動(dòng)
          S3C2440內(nèi)部的I2C總線控制器通過4個(gè)寄存器實(shí)現(xiàn)對(duì)的控制,分別是I2C控制寄存器(I2CCON)、I2C狀態(tài)寄存器(I2CSTAT)、I2C收發(fā)數(shù)據(jù)移位寄存器(I2CDS)、I2C地址寄存器(I2CADD)。
          按照中I2C總線框架要求,S3C2440的I2C總線驅(qū)動(dòng)設(shè)計(jì)主要完成以下工作:設(shè)計(jì)i2c_adapter_s3c_init()模板加載函數(shù)和對(duì)應(yīng)于i2c_adapter_s3c_exit()模板卸載函數(shù);設(shè)計(jì)i2c_adapter_s3c_xfer()模板S3C2440適配器方法函數(shù)。
          i2c_adapter_s3c_init()通過注冊(cè)s3c2440_i2c_driver結(jié)構(gòu)體實(shí)現(xiàn)總線驅(qū)動(dòng)的平臺(tái)注冊(cè),s3c2440_i2c_driver結(jié)構(gòu)體包含了具體適配器的probe()函數(shù)、remove()函數(shù)、resume()函數(shù)指針等信息。代碼如下:
          g.jpg
          完成了S3C2440的I2C總線適配器驅(qū)動(dòng)注冊(cè)后,就可以將具體設(shè)備驅(qū)動(dòng)注冊(cè)到該總線平臺(tái)上,實(shí)現(xiàn)I2C總線數(shù)據(jù)。i2c_dev.c文件是內(nèi)核源碼提供的通用I2C總線設(shè)備驅(qū)動(dòng)文件,針對(duì)每個(gè)I2C總線適配器生成一個(gè)主設(shè)備號(hào)為89的設(shè)備文件,設(shè)備驅(qū)動(dòng)模塊加載流程如圖6所示。完成加載后,驅(qū)動(dòng)提供i2cdev_read()、i2cdev_write()、i2cdev_ioctl()函數(shù)來對(duì)應(yīng)用戶空間的read()、write()、ioctl()函數(shù),供用戶使用。用戶通過這些接口函數(shù)實(shí)現(xiàn)I2C總線數(shù)據(jù)的讀寫功能。

          本文引用地址:http://www.ex-cimer.com/article/149119.htm

          h.jpg


          2.2 數(shù)據(jù)接收中斷程序設(shè)計(jì)
          通過配置F28015的I2C模塊寄存器,設(shè)置I2C模塊為從工作方式,同時(shí)利用I2C總線中斷響應(yīng)程序?qū)崿F(xiàn)對(duì)總線上數(shù)據(jù)的接收和發(fā)送,進(jìn)而完成數(shù)據(jù)通信。F28015產(chǎn)生了I2C總線中斷后,就執(zhí)行中斷服務(wù)程序,圖7為I2C總線中斷服務(wù)程序流程。

          i.jpg

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程




          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();