91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

CircuitPython:用于教育的嵌入式 Python

gfhtrdfd ? 2022-12-29 10:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“變化是唯一不變的”是希臘哲學家赫拉克利特的智慧明珠。這一點在數(shù)字電子世界中最為真實。C 語言是 1970 年代初期計算熱潮的產(chǎn)物,自從 BASIC 語言放棄其對微控制器編程的統(tǒng)治地位以來,它就一直主導(dǎo)著嵌入式開發(fā)。今天風向又變了,這次轉(zhuǎn)向了日益流行的 Python 編程語言。MicroPython 在過去幾年出現(xiàn),以彌合面向桌面的 CPython 參考語言與相對有限的微控制器硬件規(guī)格之間的差距。

盡管如此,對于新手嵌入式開發(fā)人員來說,MicroPython 還是有點挑戰(zhàn)。輸入CircuitPython,它是 MicroPython 語言的一個分支,經(jīng)過調(diào)整以滿足學生和其他希望學習現(xiàn)代嵌入式系統(tǒng)開發(fā)的人的特定需求。自 2017 年夏季首次發(fā)布以來,由Adafruit Industries主辦的CircuitPython 語言在制造商和教育標記中的受歡迎程度一直在穩(wěn)步增長。

在其當前迭代中,即本文的 6.1.0 版,CircuitPython 支持由 Microchip Technology Atmel SAMD21和SAMD51微控制器以及 Nordic Semiconductor nRF52840片上系統(tǒng) (SoC) 提供支持的眾多開發(fā)板。以前的 CircuitPython 版本支持流行的 ESP8266 微控制器,但從版本 4 開始不再支持。雖然 CircuitPython 在許多方面與 MicroPython 相似,但它確實去除了復(fù)雜性并為那些剛剛接觸嵌入式電子產(chǎn)品的人提供了更直接的開發(fā)工作流程。

CircuitPython 入門

首先,與 MicroPython 一樣,CircuitPython 需要將特殊固件上傳到開發(fā)板,稱為 USB 閃存版本 2 或 UF2。許多受支持的開發(fā)板都預(yù)裝了固件。但是,所有開發(fā)板都提供一種機制,使系統(tǒng)進入引導(dǎo)加載程序模式,從而允許刷新 UF2 固件。UF2 固件特定于每個開發(fā)板,因此請確保下載特定于您的開發(fā)板的最新固件。CircuitPython網(wǎng)站使這項任務(wù)變得簡單。將開發(fā)板插入計算機并啟用引導(dǎo)加載程序模式后,開發(fā)板應(yīng)顯示為名為BOOT的閃存驅(qū)動器。只需將之前下載的UF2文件拖入BOOT的根目錄即可駕駛。成功安裝后,將出現(xiàn)一個名為CIRCUITPY的新驅(qū)動器。至此,開發(fā)板已經(jīng)為它的第一個項目做好了準備。

雖然任何代碼編輯器都可用于編輯 CircuitPython 源文件 (.py ),但建議初學者使用Mu 編輯器。安裝并運行編輯器后,只需單擊“新建”按鈕即可創(chuàng)建一個空白的 Python 腳本文件。有大量示例代碼可以滿足幾乎所有需求。當然,舉世聞名的Blinky LED就是硬件世界的Hello, World。這是一個閃爍 LED 的示例:

進口板

進口數(shù)碼

導(dǎo)入時間

led = digitalio.DigitalInOut(board.D13)

led.direction = digitalio.Direction.OUTPUT

而真實的:

led.value = 真

時間.睡眠(0.5)

led.value = 假

時間.睡眠(0.5)

輸入代碼后,將文件命名為code.py并將其保存到CIRCUITPY驅(qū)動器的根目錄。如果您將文件保存在其他地方,例如桌面,只需單擊文件并將其從桌面拖動到CIRCUITPY驅(qū)動器圖標即可。重要說明,文件名對 CircuitPython 很重要,因為有些文件名是為特殊目的保留的。code.py 文件在每次重新加載后運行。要建立僅在啟動時運行一次的任何設(shè)置函數(shù),請將該代碼放在名為boot.py的文件中。

CircuitPython 的一個很好的特性是它可以檢測到任何時候添加或更新文件并自動重新啟動代碼。無需按下重置按鈕或拔下/重新插入開發(fā)板的 USB 電纜。所有源代碼都保留為用戶可讀文件,因此您可以將開發(fā)板連接到任何計算機并以零配置管理工作進行代碼更改。換句話說,您始終在設(shè)備上擁有最新的源代碼。

CircuitPython 通過使用庫使擴展功能變得非常簡單。在CIRCUITPY驅(qū)動器的根文件夾中,應(yīng)該有一個名為 lib 的文件夾。如果沒有,使用計算機的文件資源管理器從頭開始創(chuàng)建文件夾是安全的。這是存儲添加功能或與傳感器和執(zhí)行器交互所需的所有支持文件的地方。CircuitPython 提供標準的庫包,這些庫在 CircuitPython 開發(fā)人員中很受歡迎。這些庫文件針對嵌入式設(shè)備進行了顯式優(yōu)化,并以 . MPY文件擴展名。確保庫包的版本號與您正在使用的 CircuitPython 的版本號相匹配至關(guān)重要。在升級 CircuitPython 固件時,不要忘記同時升級庫包。

CircuitPython 與 MicroPython

CircuitPython 和 MicroPython 之間的其他一些主要區(qū)別包括:

所有構(gòu)建都啟用了浮點數(shù)。

不支持并發(fā)。

CircuitPython 中引入了一種安全模式,可在檢測到硬崩潰或掉電情況時阻止用戶代碼運行。

模塊別名不可用。換句話說,uos和utime模塊不能作為os和time 使用。為了保持 CPython 兼容性,CircuitPython 操作系統(tǒng)和時間模塊是其 CPython 對應(yīng)項的子集。因此,CircuitPython 代碼在 CPython 中是可執(zhí)行的,但反之則不一定。

引入存儲模塊來掛載文件系統(tǒng)。

與其他 Python 版本一樣,CircuitPython 通過讀取-評估-打印循環(huán) (REPL) 終端提供交互式編程體驗。對于 CircuitPython,可以在主代碼完成后通過串行終端連接到電路板并按鍵盤上的任意鍵進入 REPL 環(huán)境。輸入 REPL 會禁用自動重新加載功能。

CircuitPython 的另一個令人興奮的方面是Blinka。雖然 CircuitPython 在微控制器上運行,但 Blinka 將 CircuitPython 庫帶到了微型個人計算機上,這些個人計算機被稱為單板計算機 (SBC),例如 Raspberry Pi。對于那些來自桌面開發(fā)人員背景的人,Blinka 使 MicroPython 成為可在面向桌面的 Python 版本中運行的 pip 可安裝 Python 庫,從而使使用與 SBC 相同的庫與各種傳感器和執(zhí)行器交互成為可能用于微控制器。

Python,Python,無處不在

CircuitPython 是進入嵌入式系統(tǒng)軟件開發(fā)“Python 化”的激動人心的入口。它的設(shè)計簡單,加上強大的功能集,使其成為教育工作者和創(chuàng)客等人的誘人編程語言。CircuitPython 還為專業(yè)人士提供了獨特的機會。對于嵌入式工程師來說,學習 Python 等強大語言的機會有助于教授桌面和 Web 應(yīng)用程序技能。對于傳統(tǒng)的桌面應(yīng)用程序軟件開發(fā)人員,CircuitPython 提供了一種將他們的編碼技能從 PC 遷移到嵌入式系統(tǒng)的方法。

無論您的經(jīng)驗如何,CircuitPython 都是嵌入式開發(fā)領(lǐng)域值得一提的新編程語言。它的獨特功能使嵌入式開發(fā)入門變得輕而易舉,同時還提供了一些新概念,這些概念也應(yīng)該會吸引資深程序員。CircuitPython 是嵌入式開發(fā)編程語言傳奇歷史中一個受歡迎的新成員。

我們想知道您是否有使用 CircuitPython 的經(jīng)驗?在Twitter 上與我們聯(lián)系并與我們分享您的 CircuitPython 支持的項目!有興趣開始使用 CircuitPython,請查看此Adafruit CircuitPython 入門工具包。

審核編輯黃昊宇

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

    關(guān)注

    57

    文章

    4877

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    什么是嵌入式應(yīng)用開發(fā)?

    、實現(xiàn)和部署,還包括硬件選擇、軟件設(shè)計、測試、集成和維護等流程?。 定義和背景 嵌入式應(yīng)用開發(fā)是指將軟件部署到嵌入式系統(tǒng)中,這些系統(tǒng)廣泛應(yīng)用于消費電子和工業(yè)自動化中。嵌入式系統(tǒng)通常
    發(fā)表于 01-12 16:13

    嵌入式與FPGA的區(qū)別

    \"嵌入式開發(fā)門檻低、就業(yè)廣,適合轉(zhuǎn)行;FPGA技術(shù)深、薪資高,但要求學歷和數(shù)學功底。選哪個?看你的基礎(chǔ)和職業(yè)目標。\" ?我們先來明白下兩者區(qū)別在哪? ?1、嵌入式:分兩部分
    發(fā)表于 11-20 07:12

    嵌入式和FPGA的區(qū)別

    開發(fā)中做出更明智的技術(shù)選擇。 基本概念解析 嵌入式系統(tǒng)(Embedded System)是一種專用計算機系統(tǒng),通常包含微處理器/微控制器、存儲器和專用外圍設(shè)備,被設(shè)計用于執(zhí)行特定功能。它強調(diào)
    發(fā)表于 11-19 06:55

    2025年最佳的嵌入式編程語言有哪些呢?

    嵌入式系統(tǒng)是現(xiàn)代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫(yī)院、商店等各個領(lǐng)域。它們與我們的社會緊密相連。選擇合適的語言來構(gòu)建嵌入式系統(tǒng)對于成功至關(guān)重要。那么,2025年最佳的嵌入式編程
    的頭像 發(fā)表于 11-14 10:27 ?1447次閱讀
    2025年最佳的<b class='flag-5'>嵌入式</b>編程語言有哪些呢?

    嵌入式需要掌握哪些核心技能?

    : 1)C語言與底層編程 核心地位:C語言是嵌入式開發(fā)的基石,需精通指針操作、內(nèi)存管理、位運算,直接操控硬件資源。 延伸技能:C++用于復(fù)雜項目架構(gòu)設(shè)計,匯編語言優(yōu)化底層性能(如啟動代碼、中斷處理
    發(fā)表于 10-21 16:25

    盤點嵌入式就業(yè)所需要的技能有哪些?

    ,把握未來的職業(yè)機遇。 1.智能汽車行業(yè): - 熟悉嵌入式編程語言,如C/C++、Python等。 - 掌握嵌入式系統(tǒng)設(shè)計與開發(fā)流程,了解汽車電子控制系統(tǒng)的基本原理。 - 具備良好的數(shù)據(jù)結(jié)構(gòu)和算法
    發(fā)表于 08-11 15:43

    飛凌嵌入式旗下教育品牌ElfBoard與河北傳媒學院-人工智能學院,成功舉辦“產(chǎn)教融合”溝通會

    飛凌嵌入式旗下教育品牌ElfBoard與河北傳媒學院-人工智能學院共同召開“產(chǎn)教融合”溝通會
    的頭像 發(fā)表于 07-01 09:18 ?1805次閱讀
    飛凌<b class='flag-5'>嵌入式</b>旗下<b class='flag-5'>教育</b>品牌ElfBoard與河北傳媒學院-人工智能學院,成功舉辦“產(chǎn)教融合”溝通會

    Linux嵌入式和單片機嵌入式的區(qū)別?

    區(qū)別 單片機嵌入式系統(tǒng)和Linux嵌入式系統(tǒng)是兩種不同的嵌入式系統(tǒng)開發(fā)方式,它們在應(yīng)用領(lǐng)域、開發(fā)環(huán)境、資源需求等方面都有顯著的區(qū)別。以下是它們的主要區(qū)別: 1.應(yīng)用領(lǐng)域: 單片機嵌入式
    發(fā)表于 06-20 09:46

    【新品發(fā)布】嵌入式人工智能實驗箱EDU-AIoT ELF 2正式發(fā)布

    在萬物互聯(lián)的智能化時代,將AI算法深度植入硬件終端的技術(shù),正悄然改變著工業(yè)物聯(lián)網(wǎng)、智慧交通、智慧醫(yī)療等領(lǐng)域的創(chuàng)新邊界。為了助力嵌入式人工智能在教育領(lǐng)域?qū)崿F(xiàn)高質(zhì)量發(fā)展,飛凌嵌入式旗下教育
    的頭像 發(fā)表于 05-27 14:01 ?1044次閱讀
    【新品發(fā)布】<b class='flag-5'>嵌入式</b>人工智能實驗箱EDU-AIoT ELF 2正式發(fā)布

    飛凌嵌入式旗下教育品牌ElfBoard即將亮相「第63屆高等教育博覽會」

    :服務(wù)高等教育強國建設(shè)"為主題,旨在搭建高等教育全要素協(xié)同發(fā)展平臺。飛凌嵌入式旗下教育品牌ElfBoard依托自身技術(shù)優(yōu)勢,助力高校教師制定嵌入式
    的頭像 發(fā)表于 05-15 13:34 ?973次閱讀
    飛凌<b class='flag-5'>嵌入式</b>旗下<b class='flag-5'>教育</b>品牌ElfBoard即將亮相「第63屆高等<b class='flag-5'>教育</b>博覽會」

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    隨著物聯(lián)網(wǎng)、智能硬件的發(fā)展,嵌入式開發(fā)成為熱門技能之一。以下將為初學者提供一份詳細的嵌入式開發(fā)入門指南,涵蓋學習路徑、必備工具、推薦資源等內(nèi)容。 1. 嵌入式系統(tǒng)的定義與應(yīng)用嵌入式系統(tǒng)
    發(fā)表于 05-15 09:29

    飛凌嵌入式「2025嵌入式及邊緣AI技術(shù)論壇」議程公布

    4月22日,飛凌嵌入式“2025嵌入式及邊緣AI技術(shù)論壇”將在深圳舉行,論壇以“新生態(tài),智未來”為主題,旨在匯聚行業(yè)智慧,探討嵌入式技術(shù)與邊緣AI的深度融合與創(chuàng)新應(yīng)用。
    的頭像 發(fā)表于 04-02 15:12 ?1375次閱讀
    飛凌<b class='flag-5'>嵌入式</b>「2025<b class='flag-5'>嵌入式</b>及邊緣AI技術(shù)論壇」議程公布

    嵌入式教育科普|SPI接口全面解析

    在現(xiàn)代科技領(lǐng)域,嵌入式系統(tǒng)接口作為信息交互的核心樞紐,扮演著不可或缺的角色。
    的頭像 發(fā)表于 03-24 16:45 ?2394次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>科普|SPI接口全面解析

    Python嵌入式系統(tǒng)中的應(yīng)用場景

    你想把你的職業(yè)生涯提升到一個新的水平?Python嵌入式系統(tǒng)中正在成為一股不可缺少的新力量。盡管傳統(tǒng)上嵌入式開發(fā)更多地依賴于C和C++語言,Python的優(yōu)勢在于其簡潔的語法、豐富的
    的頭像 發(fā)表于 03-19 14:10 ?1509次閱讀

    ElfBoard嵌入式教育科普|UART接口全面解析

    掌握UART等通信接口的深入知識,對嵌入式初學者而言,不僅能夠深化對通信協(xié)議與方式的認知,增強調(diào)試技巧及通信接口設(shè)計能力,還能拓寬應(yīng)用范疇并培育系統(tǒng)級思考方式。因此本文將對UART接口進行全面解析
    的頭像 發(fā)表于 03-10 09:29 ?2150次閱讀
    ElfBoard<b class='flag-5'>嵌入式</b><b class='flag-5'>教育</b>科普|UART接口全面解析