新聞中心
linux下I2C驅(qū)動程序編寫指導(dǎo)

成都創(chuàng)新互聯(lián)專注于滿城企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站制作。滿城網(wǎng)站建設(shè)公司,為滿城等地區(qū)提供建站服務(wù)。全流程按需定制制作,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
I2C(Inter IC Bus),又稱為 TWI(Two-Wire Interface),是一種半雙工通信總線,它也有專有的商標和名稱,允許多節(jié)點與主機之間進行數(shù)據(jù)傳輸。I2C總線可以連接一系列有I2C標準接口的設(shè)備,它們可以通過I2C總線進行交換信息。I2C總線可以連接最多127個節(jié)點,并且它們可以在任何長度的電纜內(nèi)傳輸數(shù)據(jù)。
在Linux環(huán)境下,要使用I2C接口,首先要開發(fā)I2C的驅(qū)動程序,本文就是介紹i2c驅(qū)動程序的編寫指導(dǎo):
(1)驅(qū)動程序的文件介紹。
要寫一個i2c驅(qū)動程序,應(yīng)該先創(chuàng)建一個文件夾,文件夾中有i2c_Driver.h頭文件、i2c_driver.c和Makefile,還有一個xxx_config.h文件,其中i2c_driver.h用來定義I2C總線驅(qū)動程序所需要的宏定義,i2c_driver.c用來實現(xiàn)所有I2C總線驅(qū)動程序功能,Makefile是Linux提供的一個編譯文件,xxx_config.h是用戶自定義的xxx_config配置文件,需要填寫設(shè)備的相關(guān)信息,如硬件地址等,以便啟動I2C驅(qū)動程序。
(2)實現(xiàn)I2C驅(qū)動程序的主要函數(shù)。
I2C驅(qū)動程序的主要函數(shù)包括初始化函數(shù)i2c_driver_init,打開函數(shù)i2c_driver_open,讀取函數(shù)i2c_driver_read,寫入函數(shù)i2c_driver_write和關(guān)閉函數(shù)i2c_driver_close.
(3)設(shè)備實現(xiàn)i2c_driver_init函數(shù)
I2C驅(qū)動程序的初始化函數(shù)i2c_driver_init用來初始化I2C總線的硬件資源,具體實現(xiàn)如下:
a)根據(jù)xxx_config.h中的硬件信息,分配內(nèi)存空間
b)獲取片選信號
c)設(shè)置I2C模式
d)使能I2C的接口
e)注冊I2C設(shè)備到I2C核心
f)初始化驅(qū)動的class框架
(4)實現(xiàn)i2c_driver_read和i2c_driver_write函數(shù)
I2C驅(qū)動程序的讀函數(shù)i2c_driver_read和寫函數(shù)i2c_driver_write用來實現(xiàn)I2C總線的讀寫操作,它們的實現(xiàn)可以參考Linux I2C驅(qū)動程序的實現(xiàn),Linux I2C驅(qū)動程序主要實現(xiàn)了i2c_master_send,i2c_master_recevie等函數(shù),它們可以用來實現(xiàn)i2c_driver_read和i2c_driver_write函數(shù)。
(5)實現(xiàn)i2c_driver_open和i2c_driver_close函數(shù)
I2C驅(qū)動程序的打開函數(shù)i2c_driver_open和關(guān)閉函數(shù)i2c_driver_close用來初始化I2C設(shè)備,它們的實現(xiàn)可以參考Linux I2C驅(qū)動程序的實現(xiàn),Linux I2C驅(qū)動程序主要實現(xiàn)了i2c_client_register,i2c_client_unregister等函數(shù),它們可以用來實現(xiàn)i2c_driver_open和i2c_driver_close函數(shù)。
(6)修改Makefile文件
修改Makefile文件以編譯I2C驅(qū)動程序,具體修改步驟可參考Linux I2C驅(qū)動程序編寫步驟。
以上就是Linux下i2c驅(qū)動程序編寫指導(dǎo),根據(jù)以上步驟可以很容易地編寫一個I2C驅(qū)動程序,在Linux環(huán)境下使用I2C接口通信,有助于我們更好的掌握I2C的知識,提高我們的I2C應(yīng)用能力。
成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎(chǔ)服務(wù)商,價格厚道。提供成都服務(wù)器托管租用、綿陽服務(wù)器租用托管、重慶服務(wù)器托管租用、貴陽服務(wù)器機房服務(wù)器托管租用。
分享題目:Linux下i2c驅(qū)動程序編寫指導(dǎo)(linux驅(qū)動i2c)
文章URL:http://www.dlmjj.cn/article/dpoepgi.html


咨詢
建站咨詢
