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