日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

DIY項(xiàng)目代碼編寫(xiě)入門(mén)

發(fā)布者:EE小廣播最新更新時(shí)間:2025-05-23 來(lái)源: EEWORLD關(guān)鍵字:DIY  代碼  代碼編寫(xiě)  Arduino  MicroPython 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

如今,大部分電子系統(tǒng)都不再只由硬件組成。無(wú)論在專業(yè)領(lǐng)域還是業(yè)余愛(ài)好者市場(chǎng),嵌入式系統(tǒng)都是無(wú)源和有源電子元器件與軟件或固件的有機(jī)結(jié)合。這里先簡(jiǎn)單解釋一下“固件”(firmware)這個(gè)詞:它起源于20世紀(jì)60年代末,由“firm”(意為“堅(jiān)固”但又不像硬件那樣“僵硬”)和“ware”(指“軟件”)組合而成。固件之所以“堅(jiān)固”,是因?yàn)樗鎯?chǔ)在非易失性存儲(chǔ)器(如ROM、EPROM或閃存)中,并且對(duì)于設(shè)備運(yùn)行至關(guān)重要。不過(guò),它仍然可以更新或修改。


那么,要想開(kāi)發(fā)DIY電子設(shè)備的代碼(尤其是基于微控制器的項(xiàng)目),需要具備什么呢?首先,讓我們來(lái)了解一下面向業(yè)余愛(ài)好者的嵌入式編程語(yǔ)言,其中最常見(jiàn)的選擇是Arduino(C/C++)、MicroPython、CircuitPython及其相關(guān)的運(yùn)行時(shí)環(huán)境。


  •  Arduino(C/C++):Arduino平臺(tái)提供了一種簡(jiǎn)化的C/C++語(yǔ)言,它抽象了底層的復(fù)雜性,同時(shí)提供了用于嵌入式開(kāi)發(fā)的支持庫(kù)。其優(yōu)勢(shì)包括:在關(guān)鍵應(yīng)用中具有更好的性能、內(nèi)存占用更低、硬件兼容性更強(qiáng)、外設(shè)支持更廣泛,以及對(duì)底層硬件的控制力更強(qiáng)。

  • MicroPython和CircuitPython:這些Python語(yǔ)言的實(shí)現(xiàn)旨在解決C/C++編程中的一些挑戰(zhàn)。其優(yōu)勢(shì)包括:簡(jiǎn)化的庫(kù)管理、交互式調(diào)試、自動(dòng)存儲(chǔ)掛載以及更好的錯(cuò)誤處理能力。


如果你具備C/C++或Python桌面編程經(jīng)驗(yàn),建議選擇對(duì)應(yīng)的嵌入式版本以縮短學(xué)習(xí)曲線。對(duì)于沒(méi)有編程經(jīng)驗(yàn)的用戶,可通過(guò)查看各語(yǔ)言的示例項(xiàng)目來(lái)確定哪種語(yǔ)言用起來(lái)更順手??傮w而言,C/C++在性能方面更具優(yōu)勢(shì),而基于Python的選項(xiàng)則更注重易用性和可讀性。


編寫(xiě)固件的步驟


無(wú)論選擇何種硬件平臺(tái)和編程語(yǔ)言,編寫(xiě)代碼的總體流程大致相同。首先,我們必須將腦中的邏輯輸入到計(jì)算機(jī)中。這可以通過(guò)簡(jiǎn)單的文本編輯器(如記事本)或更高級(jí)的編輯器(如Visual Studio Code)來(lái)實(shí)現(xiàn),只需將代碼需要執(zhí)行的步驟以編號(hào)列表的形式寫(xiě)下來(lái)即可。此時(shí)我們還無(wú)需糾結(jié)代碼的細(xì)節(jié),只需記錄代碼執(zhí)行的預(yù)期流程即可,包括輸入哪些數(shù)據(jù)、如何處理這些數(shù)據(jù),以及何時(shí)生成哪些輸出。這就是常說(shuō)的“偽代碼”,可以使用你的母語(yǔ)來(lái)編寫(xiě)。


在記錄完代碼的總體需求后,就可以開(kāi)始編寫(xiě)固件了。我們以人類可讀格式編寫(xiě)的代碼稱為“源代碼”。源代碼文件的擴(kuò)展名通常表示所使用的編程語(yǔ)言,例如.ino和.c代表Arduino和C程序,而.py和.mpy則代表Python程序。你只需使用簡(jiǎn)單的文本編輯器就可以編寫(xiě)源代碼,但對(duì)初學(xué)者而言,使用集成開(kāi)發(fā)環(huán)境(IDE)可能是更好的選擇。


IDE是一種軟件應(yīng)用程序,它在單個(gè)軟件包中提供了一整套全面的軟件開(kāi)發(fā)工具。除了代碼編輯器外,IDE還包含編譯器/解釋器、調(diào)試器和版本控制等實(shí)用工具。當(dāng)然,我們也完全可以手動(dòng)配置工具鏈,將源代碼編譯成微控制器可識(shí)別的文件(也就是機(jī)器碼),再通過(guò)專用硬件上傳至設(shè)備;但從用戶的角度來(lái)看,IDE可以將所有這些復(fù)雜操作都整合到一個(gè)應(yīng)用程序中來(lái)處理。


不同于Arduino和C語(yǔ)言,MicroPython和CircuitPython是解釋型語(yǔ)言,它們編寫(xiě)的程序會(huì)保持人類可讀的源代碼形式,并直接由微控制器上的Python解釋器執(zhí)行。這種做法省去了編譯步驟,但要求微控制器除了存儲(chǔ)源代碼外,還需具備足夠的資源來(lái)運(yùn)行解釋器。CircuitPython固件必須首先燒錄到硬件中。重啟后,開(kāi)發(fā)板將顯示為一個(gè)USB大容量存儲(chǔ)設(shè)備,用戶可將源代碼復(fù)制到該設(shè)備中。再次重啟后,微控制器將開(kāi)始執(zhí)行代碼。


成功的秘訣


無(wú)論你使用編譯型代碼(如Arduino)還是解釋型代碼(如CircuitPython),在上傳固件前務(wù)必先連接外部硬件,并且確保用于連接微控制器開(kāi)發(fā)套件與開(kāi)發(fā)板的USB電纜能夠傳輸數(shù)據(jù)。若連接后發(fā)現(xiàn)板載LED燈雖然點(diǎn)亮,但I(xiàn)DE卻無(wú)法識(shí)別開(kāi)發(fā)板,則可能是驅(qū)動(dòng)程序不正確,或者使用的USB電纜僅支持供電,沒(méi)有數(shù)據(jù)傳輸線路。此外,在開(kāi)始編寫(xiě)DIY項(xiàng)目的代碼時(shí),還請(qǐng)考慮以下幾點(diǎn):


從簡(jiǎn)單項(xiàng)目開(kāi)始


閃爍LED、讀取傳感器數(shù)據(jù)、控制電機(jī)等簡(jiǎn)單任務(wù)都是很好的入門(mén)練習(xí),有助于理解軟硬件之間如何互相影響。這些知識(shí)并不一定都是顯而易見(jiàn)的,因此建議從小項(xiàng)目開(kāi)始,逐步建立信心。


記得調(diào)試


很少有代碼能在第一次嘗試運(yùn)行時(shí)就按預(yù)期工作,所以培養(yǎng)調(diào)試技能至關(guān)重要。專業(yè)工程師可能更依賴硬件調(diào)試工具(如硬件調(diào)試器、示波器和邏輯分析儀)來(lái)檢查信號(hào),尤其是在構(gòu)建定制電路板或連接多個(gè)外部組件時(shí)。然而,對(duì)于初學(xué)者來(lái)說(shuō),使用串行終端將消息從微控制器傳遞到主機(jī),是一種更簡(jiǎn)單的調(diào)試方法。Arduino生態(tài)系統(tǒng)使用serial.print()函數(shù)來(lái)實(shí)現(xiàn)這一功能,MicroPython中的print()函數(shù)也可以通過(guò)讀取-評(píng)估-打印循環(huán)(REPL)接口輸出消息。實(shí)際上,即使是低成本的開(kāi)發(fā)套件也內(nèi)置了調(diào)試硬件,用戶可通過(guò)IDE插入斷點(diǎn)并查看寄存器。


探索第三方庫(kù),但也要編寫(xiě)自己的庫(kù)


如果你計(jì)劃為項(xiàng)目添加功能或外部組件(如傳感器、執(zhí)行器),很可能已經(jīng)有現(xiàn)成代碼提供了接口。這些Arduino庫(kù)和MicroPython模塊是讓項(xiàng)目快速可靠運(yùn)行起來(lái)的好方法。然而,過(guò)度依賴庫(kù)和模塊可能會(huì)讓你錯(cuò)失理解軟硬件相互關(guān)系的寶貴學(xué)習(xí)機(jī)會(huì)。當(dāng)項(xiàng)目運(yùn)行起來(lái)后,不妨選擇一個(gè)連接傳感器和微控制器的庫(kù),從中創(chuàng)建一個(gè)自己的分支,看看是否可以添加這個(gè)庫(kù)中原本沒(méi)有的功能。閱讀庫(kù)或模塊的代碼也是非常有益的,因?yàn)檫@些代碼會(huì)更直接地與硬件(如端口和寄存器)交互。


從實(shí)踐中學(xué)習(xí)


實(shí)踐學(xué)習(xí)和迭代改進(jìn)將提升你對(duì)微控制器編程的理解。除了基本的通用輸入/輸出(GPIO)外,還需要學(xué)習(xí)如何與通信協(xié)議(如I2C、SPI、UART)、電源管理、任務(wù)調(diào)度以及硬件支持的其他高級(jí)功能進(jìn)行交互??梢赃x擇微控制器的一個(gè)新功能,并學(xué)習(xí)如何編寫(xiě)控制該功能的代碼。


結(jié)語(yǔ)


如今,嵌入式編程的入門(mén)之路比以往都要更加輕松。Arduino、MicroPython和CircuitPython等平臺(tái)為不同技術(shù)背景的開(kāi)發(fā)者提供了功能強(qiáng)大的選項(xiàng)?;贑/C++的Arduino平臺(tái)以高性能和精準(zhǔn)的硬件控制著稱,而基于Python的開(kāi)發(fā)環(huán)境則更注重易用性和快速開(kāi)發(fā)。固件編寫(xiě)是一個(gè)結(jié)構(gòu)化的過(guò)程:首先編寫(xiě)偽代碼,然后在IDE中編寫(xiě)源代碼,再通過(guò)真實(shí)的硬件交互和串行輸出進(jìn)行測(cè)試。初學(xué)者應(yīng)從閃爍LED之類的基礎(chǔ)項(xiàng)目入手,再逐步深入探索調(diào)試技術(shù)、串行通信和內(nèi)置診斷工具。雖然第三方庫(kù)可以加快開(kāi)發(fā)速度,但編寫(xiě)自定義代碼有利于加深理解并提高靈活性。通過(guò)探索I2C、SPI和UART等核心微控制器功能,將開(kāi)啟更先進(jìn)設(shè)計(jì)的大門(mén),助力工程師實(shí)現(xiàn)新的技術(shù)突破。


作者簡(jiǎn)介


產(chǎn)品工程師(P.E.)Michael Parks是貿(mào)澤電子特約作者,同時(shí)也是Green Shoe Garage的所有者。Green Shoe Garage是馬里蘭州南部一家提供定制電子設(shè)計(jì)的工作室和技術(shù)咨詢機(jī)構(gòu)。他創(chuàng)辦了《S.T.E.A.M. Power Podcast》播客來(lái)提升公眾對(duì)科技的認(rèn)知。此外,他還擁有馬里蘭州專業(yè)工程師資質(zhì),并獲得了約翰·霍普金斯大學(xué)系統(tǒng)工程碩士學(xué)位。


關(guān)鍵字:DIY  代碼  代碼編寫(xiě)  Arduino  MicroPython 引用地址:DIY項(xiàng)目代碼編寫(xiě)入門(mén)

上一篇:用一套IDE管理、開(kāi)發(fā)和保護(hù)您的主要Arm工程資產(chǎn)
下一篇:Arm 生態(tài)系統(tǒng):從云端到邊緣全面驅(qū)動(dòng) AI

推薦閱讀最新更新時(shí)間:2025-06-16 19:45

STM32替換Arduino直通車
前言 眾所周知,用Arduino進(jìn)行開(kāi)發(fā)簡(jiǎn)單快捷,一個(gè)項(xiàng)目能很快的做好,而Arduino相比STM32,貴且性價(jià)比也很低,Arduino Uno可用的針腳也少得可憐,怎么辦?換做STM32吧!STM32高性能,STM32的最小系統(tǒng)版價(jià)格很低,對(duì)我這種窮學(xué)生來(lái)說(shuō)是福利??!于是我興致勃勃的淘了STM32的最小系統(tǒng)版準(zhǔn)備入坑STM32。 可接下來(lái)我就要下載各種各樣的軟件進(jìn)行編程,燒錄,寫(xiě)個(gè)最簡(jiǎn)單的Blink程序都非常麻煩,折騰我一天。 要是能像Arduino一樣簡(jiǎn)單方便快捷就好了,怎么辦呢?那么現(xiàn)在正式開(kāi)始教程! 所需工具 STM32最小系統(tǒng)板,配套數(shù)據(jù)線,20元以下的就可以了。 Arduino(不是必須,但如果你不想買USB轉(zhuǎn)
[單片機(jī)]
STM32替換<font color='red'>Arduino</font>直通車
英特爾與Arduino合作以激發(fā)創(chuàng)客和學(xué)生的學(xué)習(xí)和發(fā)明創(chuàng)造
2013年10月8日,北京——英特爾公司首席執(zhí)行官科再奇(Brian Krzanich)于10月3日在羅馬創(chuàng)客節(jié)(Maker Faire Rome)上宣布,與創(chuàng)客和教育界領(lǐng)先開(kāi)源硬件平臺(tái)公司Arduino達(dá)成合作協(xié)議??圃倨孢€發(fā)布了英特爾?伽利略(Intel? Galileo)電路板,這是基于英特爾架構(gòu)全新兼容Arduino的可開(kāi)發(fā)電路板系列的首款產(chǎn)品。 Arduino的開(kāi)發(fā)工具包和軟件編程界面,讓沒(méi)有技術(shù)背景的藝術(shù)家、設(shè)計(jì)師和其他DIY愛(ài)好者能更容易地創(chuàng)建交互式對(duì)象或環(huán)境。從伽利略電路板開(kāi)始,英特爾將與Arduino社區(qū)密切合作開(kāi)發(fā)未來(lái)新產(chǎn)品,將英特爾架構(gòu)的性能、可擴(kuò)展性及無(wú)限可能性帶給與日俱增的創(chuàng)客人群。 除此之外
[嵌入式]
電源DIY 巧改USB接口提升電流強(qiáng)度
如果說(shuō)近年來(lái)哪種技術(shù)大幅改變了數(shù)據(jù)傳輸?shù)臍v史,那無(wú)疑就是USB技術(shù)了。并且隨著 USB 接口技術(shù)的持續(xù)革新,這種技術(shù)不僅能夠跟上科技更新的腳步,此外還能夠衍生出一些新的拓展技術(shù)。本文就將為大家介紹一種對(duì)USB口進(jìn)行改造,從而提升電流提供強(qiáng)度的方法。 ? ? ? 將USB2.0接口移動(dòng)硬盤(pán)盒與一塊20GB容量的筆記本硬盤(pán)(IC25N020ATDA04),組成了一塊移動(dòng)硬盤(pán),將該移動(dòng)硬盤(pán)插入電腦的USB前置口上,系統(tǒng)提示為“有新設(shè)備插入,但無(wú)法正常安裝,可能無(wú)法正常使用”,“設(shè)備管理器”和“資源管理器”中均無(wú)法發(fā)現(xiàn)移動(dòng)硬盤(pán)的蹤跡。觀察移動(dòng)硬盤(pán),發(fā)現(xiàn)不停出現(xiàn)“咔嗒”聲,指示燈隨著聲響周期性地亮暗
[嵌入式]
爆款DIY|手把手教你如何搭建X1000編譯環(huán)境!
? ??年初的智能音箱領(lǐng)域出現(xiàn)了一個(gè)爆款——DingDong智能音箱青春版,因其時(shí)尚的外形、靚麗的配色,更重要的是強(qiáng)大的功能而備受關(guān)注。199元的售價(jià),更是給這款音箱帶來(lái)了高的性價(jià)比,同時(shí)降低了語(yǔ)音入口的門(mén)檻,1月19日上市至今,多次斷貨,足以見(jiàn)得大家對(duì)它的喜愛(ài)程度。 ? DingDong智能音箱青春版不僅是一款便攜式的云音樂(lè)播放器,更延續(xù)了DingDong語(yǔ)音識(shí)別和智能家居入口的強(qiáng)大基因,通過(guò)語(yǔ)音點(diǎn)播歌曲、控制家電一樣都不少,內(nèi)置鋰電也讓這款音箱更便攜。 ? DingDong青春版了擁有一顆強(qiáng)大智慧“芯”——君正X1000處理器。X1000最高運(yùn)行1GHz,支持硬件浮點(diǎn)運(yùn)算單元(FPU)和SIMD加速指令,具有強(qiáng)大的計(jì)
[手機(jī)便攜]
手機(jī)也能DIY 谷歌模塊化手機(jī)重出江湖
??? ??? 一說(shuō)到“ DIY ”這個(gè)詞,喜歡接觸數(shù)碼產(chǎn)品的朋友大都會(huì)聯(lián)想到臺(tái)式 電腦 DIY 攢機(jī) ,但今天要說(shuō)的這件事兒可和臺(tái)式電腦沒(méi)有太多關(guān)系。   此前網(wǎng)絡(luò)上曾曝光過(guò)谷歌在出售摩托羅拉手機(jī)業(yè)務(wù),但依舊保有模塊化手機(jī)項(xiàng)目Project Ara,不過(guò)此后就沒(méi)有了下文。在最近這幾天,Project Ara似乎又有所起色。依據(jù)美國(guó)《時(shí)代》報(bào)道稱,谷歌Project Ara模塊化手機(jī)將于2015年年初推出,入門(mén)價(jià)僅為50美元(約合300元人民幣)。   據(jù)了解,Project Ara模塊化手機(jī)將有mini、medium和jumbo三種不同尺寸,它將覆蓋便攜手機(jī)到充分發(fā)展的巨屏手機(jī)。主持該項(xiàng)目的團(tuán)隊(duì)(ATPA)將這款模
[手機(jī)便攜]
DIY全解:自制隨身電源
本文是電子發(fā)燒友fu-80 DIYer 自制的一款隨身電源。通過(guò)以下介紹,希望能給大家點(diǎn)點(diǎn)靈感,大家一起DIY!   還在因?yàn)槭謾C(jī)的續(xù)航問(wèn)題而擔(dān)心接不到重要電話或耽誤工作么?那么自己學(xué)著做一個(gè)電源咯,即使你隨身帶不同品牌、不同型號(hào)不同接口的兩部或者以上手機(jī),也都是毫無(wú)壓力滴。一個(gè)電源能解決你一直苦惱的續(xù)航問(wèn)題,為生活帶來(lái)莫大的方便,那你還猶豫什么呢?趕緊跟我們一起來(lái)DIY吧...    圖 自制隨身電源全貌 圖 自制隨身電源開(kāi)關(guān)、接口圖   現(xiàn)在的手機(jī)啊,屏幕越來(lái)越大,性能越來(lái)越好,越來(lái)越娛樂(lè)化,然后??????為了薄如紙張,電池就越來(lái)越不經(jīng)用了。為了能長(zhǎng)時(shí)間使用手機(jī),很多人都開(kāi)始購(gòu)買了第二塊電池,但是往往也不夠用,某些不能跟
[電源管理]
<font color='red'>DIY</font>全解:自制隨身電源
借力 Mendix 低代碼,加速博世汽車電子數(shù)字化轉(zhuǎn)型
作為一名制造企業(yè)軟件內(nèi)部的軟件開(kāi)發(fā)者,如何才能更好的助力公司的數(shù)字化轉(zhuǎn)型?王嘉琪和他的團(tuán)隊(duì)走出了一條或許可以“復(fù)制”的道路。 王嘉琪是博世汽車電子事業(yè)部的數(shù)字化產(chǎn)品開(kāi)發(fā)經(jīng)理,他領(lǐng)導(dǎo)的團(tuán)隊(duì)善用 Mendix 低代碼對(duì)工廠數(shù)字化項(xiàng)目進(jìn)行規(guī)劃與開(kāi)發(fā),同時(shí)也肩負(fù)著向各個(gè)生產(chǎn)部門(mén)的開(kāi)發(fā)人員推廣新技術(shù)的重任。 隨著數(shù)字化轉(zhuǎn)型加速和業(yè)務(wù)需求的不斷增加,擺在嘉琪面前的是縮短 30% 的開(kāi)發(fā)時(shí)間,同時(shí)提升 20% 的人員開(kāi)發(fā)效率的目標(biāo)。然而王嘉琪和他的團(tuán)隊(duì)深感傳統(tǒng)高代碼開(kāi)發(fā)模式的邊際效益越來(lái)越低,開(kāi)發(fā)周期長(zhǎng)、人力投入要求高。同時(shí)如何提升與業(yè)務(wù)部門(mén)的溝通效率,正確理解需求,也成為嘉琪一直在思考的問(wèn)題。 如何帶領(lǐng)團(tuán)隊(duì)走出軟件開(kāi)發(fā)的“沼澤地帶
[汽車電子]
借力 Mendix 低<font color='red'>代碼</font>,加速博世汽車電子數(shù)字化轉(zhuǎn)型
STM32的ADC詳解和代碼設(shè)計(jì)
01ADC簡(jiǎn)介 ADC是Analog-to-DigitalConverter的縮寫(xiě)。指模/數(shù)轉(zhuǎn)換器或者模擬/數(shù)字轉(zhuǎn)換器。是指將連續(xù)變量的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。典型的模擬數(shù)字轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為表示一定比例電壓值的數(shù)字信號(hào)。 從STM32F207的數(shù)據(jù)手冊(cè)中下圖看到,STM32F207VC有3個(gè)精度為12bit的ADC控制器,有16個(gè)外部通道,而144腳的STM32F207Zx和176腳的STM32F207Ix因?yàn)閹F腳,所以多8個(gè)通道,為24個(gè)外部通道。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷執(zhí)行,ADC轉(zhuǎn)換的結(jié)果可以左對(duì)齊或右對(duì)齊儲(chǔ)存在16位數(shù)據(jù)寄存器中。 02STM32的ADC外設(shè) 上面說(shuō)到,ST
[單片機(jī)]
STM32的ADC詳解和<font color='red'>代碼</font>設(shè)計(jì)
小廣播
最新嵌入式文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved