2021年初,樹莓派Pico板一經面世我就獲得了Cytron提供的測試版,並使用微Python和C進行了編程。
我從官方文檔件入手,以快速使用樹莓派Pico運行Ubuntu 20.04操作系統的計算機入門指南為操作案例,對每一個細節進行記錄,哪怕是LED閃爍這樣微小的事項都會被納入收錄範圍。另外,Windows 和 Mac 操作系統的說明也與此類似。
準備硬件
從理論上講可以單獨開始使用開發板,但由於板子有一些接頭,因此便藉機嘗試由MINIX NEO P2 USB-C電源供電的Pining64 Pinecil烙鐵。
焊接準備工作
烙鐵工作了大約一分鐘,開始出現焊接問題……看着屏幕,可以看到Zzzz並且溫度下降。因為焊錫不夠,所以我沒有移動烙鐵,因此未檢測到任何活動而後進入睡眠狀態。更改運動靈敏度或睡眠超時可以輕鬆地解決此問題,同時,我可以完成手頭的任務。
焊接完成圖示
不使用這些頭是一個恥辱,所以我將樹莓派Pico插入到麵包板,並增加了一個LED與附帶的電路。
接入麵包板
5V 連接到 VBUS(引腳 40),GND 連接到引腳 38,我決定使用最靠近 LED 的 GPIO 即 GP15(引腳 20)。樹莓派Pico上的GPIO標記僅顯示在板的底部,當板連接到麵包板時,原理圖會有所幫助。
樹莓派Pico原理圖
硬件設置現已完成,我只需要一個微型 USB轉 USB-A 電纜將電路板連接到我的筆記本電腦。
樹莓派Pico上的MicroPython
首先,我們應將MicroPython固件燒錄到板中。為此,可從入門指南下載最新的固件(審核時為
pico_micropython_20210121.uf2)。
其次,在連接到帶有 USB 端口的計算機時按板上的 BOOTSEL 鍵,並在連接後釋放按鍵。我這樣做了,但什麼也沒發生。那是因為我使用自行車燈的USB電纜,缺乏數據線……
最後,我選擇一個適當的Micro USB到USB-A型電纜,樹莓派Pico順利在我的筆記本電腦上正確識別了:
前往“CNX Software中文站”官網,查看完整信息
為RPI-RP2大容量存儲設備安裝設備。
安裝的RPI-RP2
將
pico_micropython_20210121.uf2文件複製到驅動器後, 它會自動卸載且作為串行設備重新啟動:
前往“CNX Software中文站”官網,查看完整信息
在這一點上,樹莓派網站上的入門指南不是很有用,我們只好切換到Python SDK文檔(PDF)。
該文檔使用minicom進行串行控制台,但鑒於Bootterm更容易使用故我更中意它。無論您在何種情況下進行 Linux 編程,請確保當前用戶已添加到dialout組,否則您需要將所有程序作為root用戶身份運行:
前往“CNX Software中文站”官網,查看完整信息
Bootterm正確檢測到ttyACM0端口,所以我只運行”bt”來訪問MicroPython REPL接口,並鍵入一些MicroPython命令。
前往“CNX Software中文站”官網,查看完整信息
我可以打開板載 LED (GP25), 但當我為麵包板上的 LED (GP15)執行相同操作時, 它不起作用。我重新檢查了電路,並使用萬用表檢查電壓,發現GP25仍然拉低。網絡搜索顯示GP15在電路Python中被禁用,源於它會干擾USB接口。
GP15由內部USB外圍設備使用,不應故意使用它
MicroPython也是如此,所以我切換到相鄰的引腳(GP14,引腳19):
前往“CNX Software中文站”官網,查看完整信息
運行成功的電路
果然,成功了!如果您想了解有關MicroPython API 的更多信息,請按 Ctrl+B 並輸入幫助():
前往“CNX Software中文站”官網,查看完整信息
Ubuntu 20.04 確實有Thonny 3.2.7 在其存儲庫中, 我們可以使用 sudo apt install thonny進行安裝,但它不支持樹莓派Pico, 因此, 我用pip3安裝了最新版本的程序(v3.3.3):我們可以用”Ctrl+”後面跟着”q”退出bootterm。但如果我們想在板上保存Python程序並自動運行呢?我在Python SDK文檔中未見到任何關於這一點內容,所以我不得不跳到第三個指南,找到的最佳方法是使用Thonny。
前往“CNX Software中文站”官網,查看完整信息
然後, 我進入Run->Select interpreter… 選擇了“MicroPython (樹莓派Pico)“.
選擇MicroPython
從用戶界面,我可以輸入一些代碼來關閉板載LED:
代碼示例
為了以一秒的間隔閃爍板載 LED 和麵包板 LED,我複製並修改了 Python SDK 文檔中的一些代碼:
前往“CNX Software中文站”官網,查看完整信息
我保存文件作為我的電腦上的blink.py,它運行正常。但是,如果您想在沒有 PC 的情況下運行代碼,則可以將其保存到樹莓派Pico。點擊File->Save copy,然後點擊”樹莓派Pico”按鈕,
保存文件到樹莓派Pico
並將程序保存為main.py。現在,您可以通過將板連接到任何 USB 電源自動運行程序。
樹莓派Pico上的 C/C++
讓我們嘗試一下”C/C++ SDK”,除了一些用 C++ 編寫的工具外,基本上都是 C 語言。我們可以回到官方入門文檔,在boot模式下,我們被要求將blink.uf2複製到樹莓派Pico,它確實使板載 LED 閃爍。它的工作原理非常簡單,因為二進制是預構建的,但我們真正想做的是修改源代碼,並建立我們自己的二進制文件來使內部和外部 LED 閃爍。
因此,我們必須安裝C/C++ SDK、依賴關係和示例,具體如下:
前往“CNX Software中文站”官網,查看完整信息
我們可以看看
pico-examples/blink/blink.c的閃爍示例:
前往“CNX Software中文站”官網,查看完整信息
在修改之前,我們應嘗試先導出 SDK 路徑並配置構建:
前往“CNX Software中文站”官網,查看完整信息
現在可以進入一個blink目錄(一個新目錄,由cmake生成),然後運行make:
前往“CNX Software中文站”官網,查看完整信息
現在有一堆文件:
前往“CNX Software中文站”官網,查看完整信息
最重要的是blink.uf2,我們可以複製到樹莓派Pico運行程序,並閃爍.elf,可用於調試器(OpenOCD + GDB),但這是入門指南的範圍。
現在,我們知道如何為Pico板編譯 C 程序,讓我們修改閃爍.c示例,或者打開和關閉連接到 PIN 14 的板載 LED 和外部 LED:
前往“CNX Software中文站”官網,查看完整信息
再次構建程序:
前往“CNX Software中文站”官網,查看完整信息
進入boot模式並複製blink.uf2到板,成功了!

實踐證明,可以通過 C 或 Python 程序實現相同的結果,另外,我們將在即將發布的帖子中查看 RP2040 的 PIO (可編程 IO) 界面,因為 AFAICT 是樹莓派 RP2040 與其他微控制器最大的區別所在。
我要感謝Cytron發送樹莓派Pico進行評審。如果您位於東盟,可以以 4.98 美元的價格購買他們商店的板子,如果您有時間,可以以相同的價格為樹莓派Pico提供5美元的樹載板,該板已焊接,並已在全球範圍出貨。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/274067.html
微信掃一掃
支付寶掃一掃