chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

Milk-V Duo開(kāi)發(fā)板免費(fèi)體驗(yàn) I2C分析

wakojosin ? 來(lái)源:wakojosin ? 作者:wakojosin ? 2023-07-21 10:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

I2C需要分兩部分進(jìn)行修改,第一部分是設(shè)備樹(shù)的配置,這部分主要是有關(guān)I2C控制器相關(guān)的參數(shù)、中斷等,另一部分是硬件引腳的配置,由于驅(qū)動(dòng)用的是i2c-designware的通用驅(qū)動(dòng),所以需要讀取進(jìn)行IO初始化,這就出現(xiàn)了額外的操作,希望后面對(duì)驅(qū)動(dòng)進(jìn)行適配,可以從設(shè)備樹(shù)對(duì)引腳進(jìn)行配置,自動(dòng)完成初始化。

下面就來(lái)看看I2C驅(qū)動(dòng)的大概過(guò)程吧:

設(shè)備樹(shù)

// linux_5.10/arch/riscv/boot/dts/cvitek/cv180x_base.dtsi
i2c0: i2c@04000000 {
	compatible = "snps,designware-i2c";
	clocks = ;
	reg = ;
	clock-frequency = ;

	#size-cells = ;
	#address-cells = ;
	resets = ;
	reset-names = "i2c0";
};

// linux_5.10/arch/riscv/boot/dts/cvitek/cv180x_base_riscv.dtsi
i2c0: i2c@04000000 {
	interrupts = ;
	interrupt-parent = ;
};

驅(qū)動(dòng)源碼

使用的是i2c designware的框架。

控制器驅(qū)動(dòng)

// linux_5.10/drivers/i2c/busses/i2c-designware-platdrv.c
dw_i2c_plat_probe(struct platform_device *pdev):
	i2c_dw_probe(struct dw_i2c_dev *dev)
		i2c_dw_probe_master(struct dw_i2c_dev *dev)
			i2c_add_numbered_adapter(struct i2c_adapter *adap)
				i2c_add_adapter(struct i2c_adapter *adapter)
					i2c_register_adapter(struct i2c_adapter *adap)
						device_register(struct device *dev) // 注冊(cè)設(shè)備

設(shè)備驅(qū)動(dòng)

// linux_5.10/drivers/i2c/i2c-core-base.c
i2c_register_driver(struct module *owner, struct i2c_driver *driver)
	driver_register(&driver->driver); // 注冊(cè)驅(qū)動(dòng)

通過(guò)device_register和driver_register會(huì)進(jìn)行match和probe的操作,從而關(guān)聯(lián)起來(lái)I2C適配器和設(shè)備驅(qū)動(dòng)。

對(duì)于詳細(xì)得展開(kāi)需要進(jìn)一步的學(xué)習(xí)。

應(yīng)用編程

i2c的驅(qū)動(dòng)編程就是open/read/write/ioctrl這一套。

uint8_t reg_addr = 0x00;
uint8_t data_buf[2];

// 打開(kāi)設(shè)備
int i2c_fd = open("/dev/i2c-0", O_RDWR);

// 方式一:
// 設(shè)置從機(jī)地址
ioctl(i2c_fd, I2C_SLAVE, slave_addr);
write(i2c_fd, 0, ?_addr, 1);
read(i2c_fd, 0, data_buf, 2);

// 方式二:
struct i2c_rdwr_ioctl_data rdwr;
struct i2c_msg msgs[2];
msgs[0].addr  = I2C_SLAVE;
msgs[0].flags = 0;
msgs[0].len   = 1;
msgs[0].buf   = ?_addr;
msgs[1].addr  = I2C_SLAVE;
msgs[1].flags = I2C_M_RD;
msgs[1].len   = 2;
msgs[1].buf   = data_buf;
rdwr.msgs  = msgs;
rdwr.nmsgs = 2;
ioctl(file, I2C_RDWR, &rdwr);

以上兩種方式選擇其中一種就行。

接下去就用溫濕度傳感器測(cè)試一下i2c總線的使用,演示過(guò)程后面通過(guò)視頻展示。

審核編輯:湯梓紅

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

    關(guān)注

    114

    文章

    17496

    瀏覽量

    188433
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1543

    瀏覽量

    129774
  • 溫濕度傳感器
    +關(guān)注

    關(guān)注

    6

    文章

    615

    瀏覽量

    37109
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5999

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Milk-V Duo】1、入門(mén)篇

    入門(mén)milk-V Duo開(kāi)發(fā)板
    的頭像 發(fā)表于 07-07 11:21 ?2421次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b>】1、入門(mén)篇

    Milk-V Duo開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V初次使用

    Milk-V Duo開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V初次使用
    的頭像 發(fā)表于 08-08 09:03 ?3121次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>免費(fèi)</b>體驗(yàn)】<b class='flag-5'>Milk-V</b>初次使用

    Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】人臉檢測(cè)

    ; 執(zhí)行步驟 網(wǎng)絡(luò)配置,詳見(jiàn):Milk-V Duo S 網(wǎng)絡(luò)連接、分區(qū)擴(kuò)展、外殼設(shè)計(jì). 將攝像頭與開(kāi)發(fā)板的 J2 接口連接,注意接口定義。 使用 Type-
    發(fā)表于 07-27 16:53

    Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】測(cè)試舵機(jī)

    , for GNU/Linux 3.7.0, BuildID[sha1]=11b670c34a8bea79c366ba4d95c35978c5eb25e8, with debug_info, not stripped 三、測(cè)試驗(yàn)證 拷貝到Milk-V
    發(fā)表于 08-09 22:46

    【作品合集】群芯閃耀Milk-V Duo S 開(kāi)發(fā)板測(cè)評(píng)

    :【RISC-V專題】Milk-V Duo S 開(kāi)發(fā)板免費(fèi)試用 作者:zealsoft【Milk-V
    發(fā)表于 09-16 11:03

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】 + 系統(tǒng)鏡像燒錄以及登錄

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】+系統(tǒng)鏡像燒錄以及登錄 一.Milk-V Duo
    發(fā)表于 07-11 11:43

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo之開(kāi)箱初體驗(yàn)

    一,第一印象 外觀設(shè)計(jì)方面,Milk-V Duo以簡(jiǎn)約而精致的風(fēng)格為主,采用沉金工藝,給人一種高端大氣的感覺(jué)。開(kāi)發(fā)板的尺寸小巧,便于攜帶和使用,在我拿到的所有的開(kāi)發(fā)板中,也只有
    發(fā)表于 07-16 01:15

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo 開(kāi)發(fā)板學(xué)習(xí)初體驗(yàn)

    milkv-duo-20230616-2232.img自制成linux啟動(dòng)盤(pán) 3、通過(guò)Type-C數(shù)據(jù)線連接電腦,小板系統(tǒng)順暢的啟動(dòng)了 登錄Milk-V Duo小板的系統(tǒng)耍耍吧 1、正
    發(fā)表于 07-28 15:58

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】開(kāi)發(fā)板使用3

    接上文 【Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】開(kāi)發(fā)板使用1 |和接上文 【Milk-V
    發(fā)表于 07-29 08:17

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】milkv-duo 申請(qǐng)成功體驗(yàn)

    。 引腳圖 總結(jié) Milk-V Duo開(kāi)發(fā)板的小巧精致設(shè)計(jì)和強(qiáng)悍的性能確實(shí)為創(chuàng)客和開(kāi)發(fā)者提供了一個(gè)優(yōu)秀的平臺(tái)。它的緊湊設(shè)計(jì)使得它適用于各種空間有限的場(chǎng)景,同時(shí)強(qiáng)大的性能可以支持復(fù)雜
    發(fā)表于 07-29 14:31

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】Milk-V Duo 開(kāi)發(fā)板初體驗(yàn)

    Milk-V Duo開(kāi)發(fā)板(圖4)是一款基于CV1800B芯片(RISC-V架構(gòu),C906@1Ghz +
    發(fā)表于 08-18 00:26

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】4-Linux控制小車動(dòng)作(原創(chuàng))首發(fā)

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】2控制螺旋槳電路https://bbs.elecfans.com/jishu_2371054_1_
    發(fā)表于 08-21 02:11

    Milk-V Duo 開(kāi)發(fā)板免費(fèi)體驗(yàn)】初體驗(yàn)及開(kāi)箱視頻

    剛剛收到開(kāi)發(fā)板,給大家做個(gè)視頻來(lái)初步了解以下Milk-V Duo 開(kāi)發(fā)板。 Milk-V Duo
    發(fā)表于 08-22 23:59

    Milk-V Duo開(kāi)發(fā)板免費(fèi)體驗(yàn)】評(píng)測(cè)三、I2C功能摸索

    調(diào)試milkv duoi2c功能
    的頭像 發(fā)表于 07-28 08:59 ?2210次閱讀
    【<b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b><b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>免費(fèi)</b>體驗(yàn)】評(píng)測(cè)三、<b class='flag-5'>I2C</b>功能摸索

    Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn) 加焊EMMC 燒錄系統(tǒng)

    Milk-V Duo S 開(kāi)發(fā)板免費(fèi)體驗(yàn)】
    的頭像 發(fā)表于 08-20 09:24 ?540次閱讀
    <b class='flag-5'>Milk-V</b> <b class='flag-5'>Duo</b> S <b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>免費(fèi)</b>體驗(yàn) 加焊EMMC 燒錄系統(tǒng)