色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

I2C注冊/注銷函數(shù)方法

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:嵌入式Linux系統(tǒng)開 ? 2023-07-22 15:17 ? 次閱讀

/kernel-5.10/drivers/i2c/i2c-core-base.c 是 I2C 的核心部分,I2C 核心提供了一些與具體硬件無關(guān)的 API 函數(shù)

1、i2c_adapter 注冊/注銷函數(shù)

int i2c_add_adapter(struct i2c_adapter *adapter)//自動分配 adapter ID
int i2c_add_numbered_adapter(struct i2c_adapter *adap)//指定 ID
void i2c_del_adapter(struct i2c_adapter * adap)

2、i2c_driver 注冊/注銷函數(shù)

int i2c_register_driver(struct module *owner, struct i2c_driver *driver)
int i2c_add_driver(struct i2c_driver *driver)
void i2c_del_driver(struct i2c_driver *driver)

上述 API 一般需要在 init/exit 或者 probe/remove 函數(shù)中成對使用。

設(shè)備和驅(qū)動的匹配過程也是由 I2C 總線完成的,I2C 總線的數(shù)據(jù)結(jié)構(gòu)為 i2c_bus_type,定義在 /kernel-5.10/drivers/i2c/i2c-core-base.c 文件,i2c_bus_type 內(nèi)容如下:

struct bus_type i2c_bus_type = {
  .name = "i2c",
  .match = i2c_device_match,
  .probe = i2c_device_probe,
  .remove = i2c_device_remove,
  .shutdown = i2c_device_shutdown,
};

.match 就是 I2C 總線的設(shè)備和驅(qū)動匹配函數(shù),在這里就是 i2c_device_match 這個函數(shù),此函數(shù)內(nèi)容如下:

static int i2c_device_match(struct device *dev, struct device_driver *drv)
{
 struct i2c_client *client = i2c_verify_client(dev);
 struct i2c_driver *driver;

 if (!client)
 return 0;

 /* Attempt an OF style match */
 if (of_driver_match_device(dev, drv))
 return 1;

 /* Then ACPI style match */
 if (acpi_driver_match_device(dev, drv))
 return 1;

 driver = to_i2c_driver(drv);
 /* match on an id table if there is one */
 if (driver- >id_table)
 return i2c_match_id(driver- >id_table, client) != NULL;

 return 0;
}

of_driver_match_device 函數(shù)用于完成設(shè)備樹設(shè)備和驅(qū)動匹配。比較 I2C 設(shè)備節(jié)點的 compatible 屬性和 of_device_id 中的 compatible 屬性是否相等,如果相當(dāng)?shù)脑捑捅硎?I2C 設(shè)備和驅(qū)動匹配。

acpi_driver_match_device 函數(shù)用于 ACPI 形式的匹配。

i2c_match_id 函數(shù)用于傳統(tǒng)的、無設(shè)備樹的 I2C 設(shè)備和驅(qū)動匹配過程。比較 I2C 設(shè)備名字和 i2c_device_id 的 name 字段是否相等,相等的話就說明 I2C 設(shè)備和驅(qū)動匹配。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1490

    瀏覽量

    124004
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4338

    瀏覽量

    62739
收藏 人收藏

    評論

    相關(guān)推薦

    Linux內(nèi)核中描述I2C的四個核心結(jié)構(gòu)體

    I2C核心維護(hù)了i2c_bus結(jié)構(gòu)體,提供了I2C總線驅(qū)動和設(shè)備驅(qū)動的注冊注銷方法,維護(hù)了
    的頭像 發(fā)表于 09-04 09:35 ?1580次閱讀
    Linux內(nèi)核中描述<b class='flag-5'>I2C</b>的四個核心結(jié)構(gòu)體

    I2C總線驅(qū)動和設(shè)備驅(qū)動

    為400kbit/s常見iic設(shè)備eeprom觸摸芯片溫濕度傳感器mpu6050(姿態(tài)傳感器)…框架圖I2C核心提供I2C總線驅(qū)動和設(shè)備驅(qū)動的注冊方法
    發(fā)表于 12-13 06:18

    i2c總線ppt(I2C總線器件應(yīng)用)

    I2C總線器件應(yīng)用第一節(jié) I2C總線器件應(yīng)用概述I2C總線工作原理I2C總線系統(tǒng)結(jié)構(gòu)I2C總線系統(tǒng)結(jié)構(gòu)如圖7-1所示。其中,SCL是時鐘線,
    發(fā)表于 08-13 17:34 ?0次下載

    I2C總線規(guī)范與I2C器件C51讀寫程序

    I2C總線規(guī)范與I2C器件C51讀寫程序:本文簡要介紹了I2C總線,并給出了I2C器件的C51讀
    發(fā)表于 08-22 17:51 ?93次下載

    I2C Guid I2C指南

    I2C Guid  I2C指南 The I2C bus is used in a wide rangeof applications because it is simpleand
    發(fā)表于 04-23 13:55 ?36次下載

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協(xié)議中文版 
    發(fā)表于 11-05 09:26 ?2933次閱讀

    i2c

    單片機(jī)i2c總線操作;單片機(jī)i2c總線操作;單片機(jī)i2c總線操作;
    發(fā)表于 05-17 11:09 ?35次下載

    詳細(xì)講解RT-Thread I2C設(shè)備驅(qū)動框架及相關(guān)函數(shù)

    本應(yīng)用筆記以驅(qū)動I2C接口的6軸傳感器MPU6050為例,說明了如何使用I2C設(shè)備驅(qū)動接口開發(fā)應(yīng)用程序,并詳細(xì)講解了RT-Thread I2C設(shè)備驅(qū)動框架及相關(guān)函數(shù)
    的頭像 發(fā)表于 03-29 10:52 ?2.1w次閱讀
    詳細(xì)講解RT-Thread <b class='flag-5'>I2C</b>設(shè)備驅(qū)動框架及相關(guān)<b class='flag-5'>函數(shù)</b>

    Linux的I2C驅(qū)動架構(gòu)

    的讀寫方法。但是總線驅(qū)動本身并不會進(jìn)行任何的通訊,它只是存在在那里,等待設(shè)備驅(qū)動調(diào)用其函數(shù)。設(shè)備驅(qū)動則是與掛在I2C總線上的具體的設(shè)備通訊的驅(qū)動。通過I2C總線驅(qū)動提供的
    發(fā)表于 04-02 14:38 ?686次閱讀

    I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議

    這篇文章給大家?guī)砹?b class='flag-5'>I2C系列的合集,可以系統(tǒng)學(xué)習(xí)I2C協(xié)議。大家趕緊看看吧! 1、I2C總線:何時使用I2C緩沖器 本文討論了使用I2C
    的頭像 發(fā)表于 09-23 15:28 ?3164次閱讀

    嵌入式linux應(yīng)用讀寫i2c示例

    這里分享一個嵌入式linux讀寫24c02的i2c程序ioctl函數(shù)的使用:原型:struct ioctl(struct file *file,unsigned int cmd,unsigned
    發(fā)表于 11-01 16:57 ?12次下載
    嵌入式linux應(yīng)用讀寫<b class='flag-5'>i2c</b>示例

    MSP430F5529 DriverLib 庫函數(shù)學(xué)習(xí)筆記(十一)I2C / IIC

    目錄硬知識USCI的I2C模式I2C概述MSP430單片機(jī)I2C模塊特征及結(jié)構(gòu)框圖I2C原理I2C主從操作(1)從模式(
    發(fā)表于 12-04 19:06 ?2次下載
    MSP430F5529 DriverLib 庫<b class='flag-5'>函數(shù)</b>學(xué)習(xí)筆記(十一)<b class='flag-5'>I2C</b> / IIC

    硬件I2C與模擬I2C

    硬件I2C對應(yīng)芯片上的I2C外設(shè),有相應(yīng)I2C驅(qū)動電路,其所使用的I2C管腳也是專用的,因而效率要遠(yuǎn)高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    I2C debug出現(xiàn)問題怎么解決

    _transfer 返回值為 -6? 返回值為 -6 表示為 NACK 錯誤,即對方設(shè)備無應(yīng)答響應(yīng),這種情況一般為外設(shè)的問題,常見的有以下幾種情況: I2C 地址錯誤,解決方法是測量 I2C 波形,確認(rèn)是否
    的頭像 發(fā)表于 07-22 15:00 ?3790次閱讀

    I2C控制器驅(qū)動介紹

    適配器與 I2C 設(shè)備進(jìn)行通信的方法I2C 總線驅(qū)動,或者說 I2C 適配器驅(qū)動的主要工作就是初始化 i2c_adapter 結(jié)構(gòu)體變
    的頭像 發(fā)表于 07-22 15:38 ?1513次閱讀
    <b class='flag-5'>I2C</b>控制器驅(qū)動介紹
    主站蜘蛛池模板: 午夜精品久久久久久久99蜜桃| 嗯别插太快好深再深点| 91久久精一区二区三区大全| 亚洲精品www久久久久久 | 夜夜澡人人爽人人喊_欧美| 西施打开双腿下面好紧| 十分钟免费观看高清视频大全| 日本aa大片| 人淫阁| 日本日本熟妇中文在线视频| 热九九99香蕉精品品 | 99精品国产免费久久久久久下载| 一区二区三区国产| 又亲又揉摸下面视频免费看 | 国产人妻精品无码AV在线五十路| 国产AV国片精品无套内谢无码| 成人性生交大片免费看4| 处初女处夜情视频在线播放| 初中XXXXXL| 国产噜噜噜精品免费| 狠狠色丁香久久婷婷综合_中| 国产在线观看免费| 久久99蜜桃精品麻豆| 久亚洲AV无码专区A片| 男人边吃奶边挵进去呻吟漫画 | 爆操日本美女| 动漫美女性侵| 国产精品一国产AV麻豆| 户外露出野战hd| 快播h动漫网| 欧美性动漫3d在线观看完整版| 日本wwwxx| 我与旗袍老师疯狂床震| 亚洲乱码国产一区三区| 综合久久伊人| jizz破处| 国产精品无码麻豆放荡AV| 好男人免费观看在线高清WWW| 久久精品亚洲国产AV涩情| 男人和女人一级黄色大片| 日本免费一本天堂在线|