日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
LinuxI2C驅(qū)動(dòng)程序:又快又安全(linuxi2c驅(qū)動(dòng))

隨著物聯(lián)網(wǎng)的快速發(fā)展,各種設(shè)備的數(shù)量也在快速增長,傳感器,執(zhí)行設(shè)備,控制器等各種外圍設(shè)備的接口數(shù)量多得難以計(jì)算,這就需要采用一種通用的總線系統(tǒng)來連接各外圍設(shè)備,這就是I2C總線。I2C有兩個(gè)數(shù)據(jù)總線,可實(shí)現(xiàn)半雙工傳輸,支持多主機(jī)和多從設(shè)備,I2C總線通信開銷小,簡單,輕量級(jí),容易接入,延時(shí)低,因此是智能設(shè)備中最常用的總線系統(tǒng)。

linux I2C驅(qū)動(dòng)程序用來驅(qū)動(dòng)硬件設(shè)備,它是一個(gè)特定協(xié)議,在應(yīng)用層提供了接口和設(shè)備驅(qū)動(dòng)之間的接口。I2C驅(qū)動(dòng)程序不僅可以通過硬件設(shè)備的I2C總線來進(jìn)行數(shù)據(jù)的傳輸,同時(shí)也能夠支持Linux的i2c-dev框架,也就是通過讀寫文件的形式來操作硬件設(shè)備(文件的讀寫映射成i2c_smbus函數(shù),因此可以訪問私有的I2C總線的硬件設(shè)備),從而帶來了更靈活的操作方法,更加安全便捷。

下面介紹一個(gè)簡單的I2C驅(qū)動(dòng)程序示例:氣壓傳感器BMP085。

首先,將氣壓傳感器BMP085連接到系統(tǒng),然后在I2C總線上定義一個(gè)設(shè)備結(jié)構(gòu)體

“`c

struct i2c_client *BMP085_client;

然后在I2C設(shè)備注冊函數(shù)中初始化客戶端,代碼如下:
```c
BMP085_client = i2c_new_device(adapter, &BMP085_info);

之后,我們需要?jiǎng)?chuàng)建操縱I2C總線的一些函數(shù),以完成一系列I2C設(shè)備操作。代碼如下:

“`c

//定義I2C設(shè)備操作函數(shù)

static const struct i2c_device_id BMP085_id[] = {

{“BMP085”, 0},

{}

};

static const struct of_device_id BMP085_match_table[] = {

{ .compatible = “BMP085” },

{},

};

static struct i2c_Driver BMP085_driver = {

.driver = {

.name = “BMP085”,

.owner = THIS_MODULE,

.of_match_table = BMP085_match_table,

},

.id_table = BMP085_id,

.probe = BMP085_probe,

.remove = BMP085_remove,

};

//注冊I2C設(shè)備到I2C內(nèi)核總線

static int __init BMP085_init(void) {

//注冊I2C驅(qū)動(dòng)

i2c_add_driver(&BMP085_driver);

return 0;

}

module_init(BMP085_init);

static void __exit BMP085_exit(void)

{

i2c_del_driver(&BMP085_driver);

}

module_exit(BMP085_exit);


通過上面的代碼,根據(jù)提供的接口,我們就可以實(shí)現(xiàn)對設(shè)備的操作。

總而言之,linux i2c驅(qū)動(dòng)程序可以通過多種安全而快速的方式來控制I2C總線上各種外圍設(shè)備,例如氣壓傳感器,磁盤驅(qū)動(dòng)器,鍵盤,鼠標(biāo)等,是嵌入式系統(tǒng)中不可缺少的基礎(chǔ)模塊。

創(chuàng)新互聯(lián)【028-86922220】值得信賴的成都網(wǎng)站建設(shè)公司。多年持續(xù)為眾多企業(yè)提供成都網(wǎng)站建設(shè),成都品牌網(wǎng)站設(shè)計(jì),成都高端網(wǎng)站制作開發(fā),SEO優(yōu)化排名推廣服務(wù),全網(wǎng)營銷讓企業(yè)網(wǎng)站產(chǎn)生價(jià)值。


標(biāo)題名稱:LinuxI2C驅(qū)動(dòng)程序:又快又安全(linuxi2c驅(qū)動(dòng))
標(biāo)題來源:http://www.dlmjj.cn/article/ccedhgg.html