對于深入研究實時嵌入式應(yīng)用程序之前,對MicroPython感興趣的開發(fā)人員必須先選擇支持開發(fā)套件或微處理器。開發(fā)人員尋找支持的開發(fā)工具包的最佳位置是簽出MicroPython Github Board Summary頁面。想要快速啟動并運行的開發(fā)人員應(yīng)該考慮已經(jīng)安裝了MicroPython的PyBoard。想要使用適合使用Arduino屏蔽的開發(fā)工具包并且不介意將MicroPython放在開發(fā)工具包上的額外步驟(要了解如何編譯和安裝MicroPython,請參閱Jacob的視頻)的開發(fā)人員應(yīng)該考慮使用Netduino Plus 2。
圖1 - PyBoard(左)和Netduino Plus 2(右)
一旦開發(fā)人員運行硬件MicroPython,開始使用MicroPython進行編程相對簡單。開發(fā)人員只需將他們的設(shè)備通過USB插入PC,這樣他們就可以訪問REPL(Read Evaluate Print Loop)終端。 REPL允許開發(fā)人員只需鍵入即可使用MicroPython測試命令和腳本。
例如,首先要嘗試的是學(xué)會控制板載LED。使用 pyb 庫完成對MicroPython中任何微控制器外設(shè)的控制。第一步是在REPL中鍵入“ import pyb ”并按Enter鍵。然后,開發(fā)人員可以通過 pyb 庫訪問任何微控制器外設(shè)。例如,可以通過鍵入 pyb.LED(LED#)。on()打開LED,或者通過鍵入 pyb.LED(LED#)關(guān)閉()關(guān)閉LED。 I>??梢栽趫D2中看到如何使用MicroPython打開四個不同LED的簡單示例。
圖2 - 帶LED指示燈的REPL終端
Python的一個優(yōu)點是它不僅僅是一種腳本語言; Python是一種面向?qū)ο蟮木幊陶Z言。例如,開發(fā)人員可以創(chuàng)建一個LED對象來控制開發(fā)板上的所有LED。 PyBoard有四種不同的LED;紅色,綠色,黃色和藍(lán)色。每個LED都分配一個數(shù)字,以紅色為一,紅色為四。可以編寫一個簡單的腳本,通過將名為Led的對象分配給 pyb.LED(2),每1000毫秒切換一次綠色LED。 LED切換腳本的外觀示例可以在圖3中找到。
圖3 - 綠色LED切換腳本
pyb 庫包含許多用于控制微控制器外設(shè)的預(yù)定義類。一些例子包括PWM,CAN和定時器。圖4包含其他示例類,MicroPython文檔包含所有受支持的類。
圖4 - Pyb庫類
不一定需要通過Python腳本的主循環(huán)執(zhí)行定期任務(wù),例如切換LED,如示例所示。開發(fā)人員可以選擇使用微控制器的定時器外設(shè),并使用中斷來改變LED的狀態(tài)。設(shè)置計時器相對簡單。首先,開發(fā)人員需要選擇應(yīng)該使用哪個計時器(timer1,timer2等)并使用類似于以下代碼創(chuàng)建計時器對象:
TimerGreenLedToggle = pyb.Timer(2)
其中數(shù)字2是應(yīng)與 TimerGreenLedToggle 對象一起使用的計時器編號。
分配計時器對象是一個很好的第一個開始但開發(fā)人員還需要為計時器分配一個頻率??梢允褂靡韵麓a初始化定時器以5 Hz的頻率觸發(fā)中斷:
TimerGreenLedToggle.init(freq = 5)
然而,在REPL中執(zhí)行上述語句的開發(fā)人員會發(fā)現(xiàn)沒有什么真正有趣的事情發(fā)生。沒有任何反應(yīng)的原因是計時器需要已經(jīng)分配了一個回調(diào)函數(shù),以便在每次中斷觸發(fā)時執(zhí)行。 MicroPython非常容易地分配這樣的回調(diào)函數(shù)。例如,一個名為 GreenLedToggle 的函數(shù)只需調(diào)用 Led.toggle()。開發(fā)人員可以使用以下代碼將 GreenLedToggle 分配給 TimerGreenLedToggle 回調(diào):
TimerGreenLedToggle.callback(GreenLedToggle)
您可以看到創(chuàng)建一個簡單的切換LED是多么簡單!即使是定時器設(shè)置也只需要幾行Python代碼。上面的定時器代碼可以在幾分鐘內(nèi)完成。使用傳統(tǒng)C代碼的開發(fā)人員通常不會輕易逃脫。需要花費大量的時間和精力才能進入C代碼才能達(dá)到MicroPython的起點。
-
PCB打樣
+關(guān)注
關(guān)注
17文章
2968瀏覽量
21742 -
華強PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
27812 -
Micropython
+關(guān)注
關(guān)注
0文章
68瀏覽量
4752 -
華強pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43088
發(fā)布評論請先 登錄
相關(guān)推薦
評論