一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于RT-Thread的I2C(軟件) 實踐 | 技術(shù)集結(jié)

RT-Thread官方賬號 ? 2025-05-06 18:44 ? 次閱讀


一、軟硬件介紹

(一)I2C(軟件)

I2C是一種廣泛應(yīng)用于嵌入式系統(tǒng)中的短距離串行通信協(xié)議,支持多主多從設(shè)備模式,主機通過時鐘信號SCL和數(shù)據(jù)線SDA與從機進行數(shù)據(jù)交互。在 RT-Thread 操作系統(tǒng)中,我們可以通過菜單配置工具menuconfig快速設(shè)置軟件 I2C 的引腳,并借助其內(nèi)部已實現(xiàn)的驅(qū)動程序,方便快捷地完成調(diào)用與開發(fā)。

(二)FRDM-MCXA153

FRDM-MCXA153是一款緊湊且可擴展的開發(fā)板,可快速基于MCX A14和A15 MCU開展原型設(shè)計。它們提供行業(yè)標準的接口,可輕松訪問MCU的I/O、集成的開放標準串行接口、外部閃存和板載MCU-Link調(diào)試器。本文主要基于恩智浦FRDM—MCXA153開發(fā)板 X RT-Thread,測試I2C(軟件) 功能以及SSD1306 OLED

15b7c026-2a67-11f0-9434-92fbcf53809c.jpg

通過MCUXpresso Developer Experience(MCUXpresso開發(fā)人員體驗)提供其他工具,如面向附加板的擴展板中心和面向軟件示例的應(yīng)用代碼中心。

(三)SSD1306 OLED

SSD1306是一款單片CMOS OLED/PLED驅(qū)動器,具有有機/聚合物發(fā)光控制器二極管點陣圖形顯示系。SSD1306內(nèi)置對比度控制、顯示RAM振蕩器,減少了外部組件和功耗。它有256級亮度控制。數(shù)據(jù)/命令是從通用單片機通過硬件可選的6800/8000系列兼容并行接口發(fā)送,I2C接口或串行外圍接口。它適用于許多緊湊型便攜式應(yīng)用程序,例如手機副顯示屏、MP3播放器、計算器等。

15c7e596-2a67-11f0-9434-92fbcf53809c.jpg


二、工程創(chuàng)建

目前RT-Thread Studio尚未支持恩智浦FRDM-MCXA153開發(fā)板BSP,需要從gitee下載最新的主線,通過scons命令創(chuàng)建工程。下載好主線源碼后,在rt-thread\bsp\nxp\mcx\mcxa\frdm-mcxa153 目錄下打開scons環(huán)境,配置軟件I2C驅(qū)動和SSD1306 OLED。

(一)軟件I2C配置

在恩智浦FRDM-MCXA153開發(fā)板板載的mikroBUS socket找到2個pin做軟件I2C接口的SCL/SDA,考慮到3.3V/GND的需要,直接選擇; P1_0和P1_2,具體可以從針腳圖看到,下圖紅框處的針腳。

15d56e3c-2a67-11f0-9434-92fbcf53809c.jpg

因為是軟件I2C,直接在menuconfig的設(shè)備驅(qū)動中選擇“Use GPIO to soft simulate I2C”,設(shè)置中直接配置到I2C1 bus上,之前選擇了P1_0和P1_2作為SCL/SDA,按照((port*32)+pin)的計算公式配置好即可,具體如下圖。

15dca562-2a67-11f0-9434-92fbcf53809c.jpg

其它的軟件I2C的具體實現(xiàn),都在RT-Thread的組件中實現(xiàn)了,不再介紹。

(二)SSD1306 OLED配置

在menuconfig中選擇enable SSD1306,并且設(shè)置好I2C bus name,I2C的地址默認是0x3c無需修改,同時打開SSD1306測試demo。

15e780ae-2a67-11f0-9434-92fbcf53809c.jpg

上述內(nèi)容設(shè)置好之后,選擇保存。分別執(zhí)行下述2個命令:

pkgs —update

scons —target=mdk5


Keil工程生成后,打開工程編譯程序。

Program Size: Code=83324RO-data=25164RW-data=784ZI-data=7876 Finished:0information,2warning and0error messages.".\build\rtthread.axf"-0Error(s),6Warning(s).Build Time Elapsed: 00:00:04

然后下載到恩智浦FRDM-MCXA153開發(fā)板上。

161a5b82-2a67-11f0-9434-92fbcf53809c.jpg


三、軟件I2C測試

固件下載完成后,reset系統(tǒng),可以看到軟件I2C已經(jīng)配置成功。

sram heap,begin:0x0x200019d4,end:0x0x20005c00\|/-RT- Thread OperatingSystem/|\ 5.2.0build Jul21202415:49:402006-2024CopyrightbyRT-Thread teamI/I2C: I2C bus [i2c1] registeredD/I2C_S: Software simulation i2c1 init done, SCL pin:0x20, SDA pin:0x22I/I2C: I2C bus [i2c0] registeredusingarmclang, version:6180002MCXA153 HelloWorldmsh>

list device后,可以看到I2C1已經(jīng)起來:

msh>list devicedevice type refcount-------- -------------------- ----------i2c0 I2C Bus 0i2c1 I2C Bus 0pin Pin Device 0uart0 CharacterDevice 2msh>

把ssd1306_TestAll的demo跑起來。

1621ae5a-2a67-11f0-9434-92fbcf53809c.jpg

對比硬件I2C,軟件I2C的刷屏速度的確差了很多。

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

    關(guān)注

    69

    文章

    5095

    瀏覽量

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

    關(guān)注

    28

    文章

    1520

    瀏覽量

    126617
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1352

    瀏覽量

    41394
收藏 人收藏

    評論

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

    RT-Thread記錄(十八、SHT21與24C02軟件包)

    本文學(xué)習(xí)測試一下幾款典型設(shè)備的 RT-Thread I2C軟件
    的頭像 發(fā)表于 07-08 11:07 ?3984次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(十八、SHT21與24<b class='flag-5'>C</b>02<b class='flag-5'>軟件</b>包)

    【先楫HPM5361EVK開發(fā)板試用體驗】RT-Thread I2C使用

    開發(fā)環(huán)境: IDE:RT-Thread Studio 2.2.7 開發(fā)板:HPM5300EVK HPM5300EVK有4路硬件I2C,當然也可使用軟件I2C,對于應(yīng)用而言,
    發(fā)表于 12-25 23:57

    RT-Thread里面驅(qū)動層的i2c能否用硬件方式實現(xiàn)呢?

    很好奇RT-Thread里面驅(qū)動層的i2c實現(xiàn)為啥都是用的軟件模擬實現(xiàn)的,硬件i2c它不香嗎,有人做過硬件方式實現(xiàn)嗎?一起交流下
    發(fā)表于 04-15 09:41

    基于RT-Thread測試NK-980 IoT開發(fā)板的I2C外設(shè)性能簡析

    1、RT-Thread I2C應(yīng)用實踐  硬件環(huán)境  ● 開發(fā)板:Nuvoton NK-980 IoT  ● USB線:Micro-USB 連接線2根  ●
    發(fā)表于 10-12 15:56

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

    摘要本應(yīng)用筆記以驅(qū)動 I2C 接口的 6 軸傳感器 MPU6050 為例,說明了如何使用 I2C 設(shè)備驅(qū)動接口開發(fā)應(yīng)用程序,并詳細講解了 RT-Thread I2C 設(shè)備驅(qū)動框架及相關(guān)
    發(fā)表于 10-25 12:02

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

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

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運行于RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時提供了開放
    的頭像 發(fā)表于 05-21 11:29 ?1.1w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>軟件</b>包定義和使用

    基于RT-Thread的智慧路燈案例實驗分享

    這里我用的是RT-Thread Studio V1.1.0,這里的I2C的范例配置有點問題,其它版本的RT-Thread Studio應(yīng)該可以按范例配置那么配,如果按范例配置編譯不通過的話可以按照
    的頭像 發(fā)表于 07-01 14:43 ?3957次閱讀
    基于<b class='flag-5'>RT-Thread</b>的智慧路燈案例實驗分享

    RT-Thread全球技術(shù)大會:RT-Thread開源重塑軟件發(fā)展新生態(tài)

    RT-Thread全球技術(shù)大會:RT-Thread開源重塑軟件發(fā)展新生態(tài),市場空間巨大,以開放的心態(tài)不斷提升技術(shù)水平,大膽創(chuàng)新,迎接挑戰(zhàn)!
    的頭像 發(fā)表于 05-27 10:47 ?1376次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:<b class='flag-5'>RT-Thread</b>開源重塑<b class='flag-5'>軟件</b>發(fā)展新生態(tài)

    RT-Thread全球技術(shù)大會:螢石研發(fā)團隊使用RT-Thread技術(shù)挑戰(zhàn)

    RT-Thread全球技術(shù)大會:研發(fā)團隊使用RT-Thread技術(shù)挑戰(zhàn) ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:36 ?1450次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:螢石研發(fā)團隊使用<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>技術(shù)</b>挑戰(zhàn)

    RT-Thread全球技術(shù)大會:使用RT-Thread開發(fā)大規(guī)模嵌入式軟件帶來的挑戰(zhàn)與好處

    RT-Thread全球技術(shù)大會:使用RT-Thread開發(fā)大規(guī)模嵌入式軟件帶來的挑戰(zhàn)與好處 ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:45 ?1691次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:使用<b class='flag-5'>RT-Thread</b>開發(fā)大規(guī)模嵌入式<b class='flag-5'>軟件</b>帶來的挑戰(zhàn)與好處

    2022 RT-Thread全球技術(shù)大會:螢石EZIOT SDK對RT-Thread的支持

    2022 RT-Thread全球技術(shù)大會:RT-Thread在攝像頭及IoT設(shè)備上的實踐經(jīng)驗分享
    的頭像 發(fā)表于 05-27 11:08 ?1446次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會:螢石EZIOT SDK對<b class='flag-5'>RT-Thread</b>的支持

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    RT-Thread文檔_I2C 總線設(shè)備

    RT-Thread文檔_I2C 總線設(shè)備
    發(fā)表于 02-22 18:35 ?0次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>I2C</b> 總線設(shè)備

    驅(qū)動SSD1306OLED屏檢驗軟件I2C驅(qū)動方案

    進行RT-Thread Settings 開啟軟件I2C。
    發(fā)表于 08-15 15:33 ?1698次閱讀
    驅(qū)動SSD1306OLED屏檢驗<b class='flag-5'>軟件</b><b class='flag-5'>I2C</b>驅(qū)動方案