使用簡單的用戶界面,在 Arduino 和 Arduino IDE 中進行開發總是簡單而有趣。Arduino IDE 是開源的,可免費使用開發環境,具有編寫、編譯和上傳代碼到 Arduino Boards 等所有功能。它基于 Java,可在 Windows、OS X 和 Linux 等主要操作系統上運行。但是,由于它的簡單性和龐大的社區,它沒有一些經驗豐富的開發人員需要的快速開發功能,可以縮短開發周期。有許多可用于 Arduino 的開發環境,但都有一些優點和缺點。今天,我們將從易于使用且與 Arduino 環境相比增加了功能的PlatformIO 開發環境開始。
什么是 PlatformIO?
PlatformIO 是一個基于 Python 的物聯網開發開源生態系統,是一個在 Windows、Mac 和 Linux 上運行的具有統一調試器的跨平臺 IDE。PlatformIO 帶有用于 Arduino 或 MBED 等平臺的庫管理器,以及單元測試和固件更新。PlatformIO 支持許多平臺、框架、板,如 Arduino、ESP32、ESP8266,并附帶許多示例和庫。它獨立于運行它的平臺,只需要在計算機上安裝 Python。
PlatformIO的優勢
PlatformIO 具有快速開發的特點,它的 C/C++ 代碼完成和智能代碼檢查器等功能可用于快速專業開發,而 Arduino IDE 中沒有這些功能。除此之外,PlatformIO 還提供深色和淺色主題支持,以便隨時進行開發。它還帶有智能代碼導航和代碼格式化。核心功能包括多平臺構建系統、庫管理器、串行端口監視器等。
支持多種架構和開發平臺的統一調試器允許使用零配置調試多個嵌入式板。PlatformIO 統一調試器具有條件斷點、表達式和觀察點、內存查看器、活動調試會話的熱重啟等功能。PlatformIO Core 是用 Python 2.7 編寫的,適用于 Windows、macOS、Linux、FreeBSD 甚至基于 ARM 的信用卡大小的計算機,如 Raspberry Pi、BeagleBone、CubieBoard、Samsung ARTIK 等。除此之外,PlatformIO 還具有文件資源管理器,這有助于當項目發展到一定水平并且組織變得必要時組織文件。
為 Arduino Uno 設置 PlatformIO
使用 PlatformIO 非常簡單,只需幾個步驟即可開始。PlatformIO 需要在計算機上安裝 Python,因為如上所述 PlatformIO 核心是用 Python 2.7 編寫的。請注意,PlatformIO 不支持 Python 3,因此建議安裝 Python 2 版本,然后繼續設置 PlatformIO IDE。PlatformIO 是一個 IDE,它為最流行的 IDE 和文本編輯器提供官方包(插件、擴展)。
今天我們將 PlatformIO 安裝到像 Atom 和 Visual Studio Code 這樣的文本編輯器中。在 Platform IDE 的官方文檔中,它指出 PlatformIO IDE for VS Code (Visual Studio Code) 提供了更好的系統性能,并且用戶發現它更容易上手。所以我們將在 Visual Studio Code 中設置 PlatformIO。VS Code 是一個著名的文本編輯器,具有許多擴展,允許我們使用不同的編程語言進行開發。
讓我們開始設置 PlatformIO 以開始在 Arduino UNO 中開發代碼。涉及的步驟如下所述:
首先從其官方網站安裝Visual Studio Code 。Visual Studio Code的安裝步驟在此不做說明,您可以在 VS Code 網站上找到。就像在 Windows 操作系統上安裝任何其他軟件一樣,涉及到一般步驟。
成功安裝后,Visual Studio 代碼將如下所示。
下一步包括使用 VS Code Extensions 安裝 PlatformIO。為此,您需要轉到 VS Code 左上角的擴展圖標。左上角的第 5個圖標是方形框圖標。只需點擊它,旁邊就會出現一個搜索框,您可以在其中找到許多針對不同編程語言的擴展,例如 C/C++、C#、Python、PHP、Go、JavaScript、TypeScript 和 Node.js 等。
在擴展搜索框中搜索“PlatformIO”,您將看到帶有名稱和描述的 PlatformIO 圖標。只需單擊它并安裝它。安裝工具鏈和其他依賴項可能需要一些時間。依賴項包括 C/C++ 環境,因為 Arduino 開發主要在 C/C++ 上完成。
安裝完成后會看到如下界面。該界面包括所有必要的導航,例如創建新項目,導入Arduino項目,打開項目,項目示例等。建議在安裝完PlatformIO后重新啟動VS Code Editor。
這樣就完成了 PlatformIO 的安裝步驟。現在 PlatformIO 已安裝并可以使用了。就像 Arduino IDE 一樣,我們將從 Blink Program 開始,并嘗試在 Arduino UNO 中上傳 Blink Program。
使用 PlatformIO IDE 對 Arduino UNO 進行編程
PlatformIO 接口將在編程 Arduino UNO 的同時進行講解。在這里,我們正在使用 PlatformIO 對 Arduino 進行編程以使 LED 閃爍。使用 Arduino IDE也可以做到這一點。按照以下步驟創建一個用于閃爍 LED 的新項目。
從快速訪問菜單中選擇“新建項目”選項卡。
為項目命名(此處為“Blink”)。搜索并選擇 Arduino UNO 板。由于我們在 Arduino 框架中工作,所以選擇的框架將是 Arduino。填寫所有詳細信息后,只需單擊完成。
該項目將通過收集資源和其他依賴項開始創建。
成功創建項目后,您將收到“項目已成功初始化”的提示消息,并填寫所有詳細信息。
要打開創建的項目,只需向下滾動 PlatformIO 的主菜單,您將看到從頭開始創建的所有項目列表。在創建的項目的右上角單擊“打開”以打開項目并開始編輯。
打開項目時,最初它看起來像是隱藏的,但不用擔心,PlatformIO 具有文件瀏覽器功能,可以找到當前項目的所有文件。只需轉到左上角并打開“無標題(工作場所)”。單擊它時,所有文件將顯示為下拉菜單。要找到文本編輯器來編輯“代碼”,請選擇“src”并打開“main.cpp”。文本編輯器模式將出現在主屏幕上,并打開一個新選項卡。在這里您可以編寫 Current Ongoing Project 的所有代碼。
只需為 Arduino UNO 編寫閃爍代碼。請注意,PlatformIO 沒有默認訪問 Arduino 庫,因此每次為 Arduino 編寫代碼時,始終在程序開頭包含 Arduino 庫,即“#include 《Arduino.h》” 。
下一步是編譯和上傳代碼。為此,讓我們看一下 PlatformIO 提供的功能。此外,PlatformIO 默認選擇 COM 端口。但如果它不是所需的 COM 端口,您也可以更改端口。COM 端口的變化將在本教程后面解釋。PlatformIO 具有 Build、Upload、Upload to Remote Device、Clean、Test、Run Task、Serial Monitor、New Terminal等功能。所有功能都可以在編輯器的左下角找到。當您將鼠標懸停在圖標上時,將顯示功能。
要構建草圖,請單擊“構建”并上傳草圖,請單擊“上傳”圖標。上傳完成后,您將能夠看到上傳所需的時間以及所有其他詳細信息以及一條消息“成功”。代碼上傳成功,您將能夠看到 Arduino Board 中的 LED 閃爍。
要選擇或更改任何 COM 端口,只需轉到 PlatformIO 主屏幕,然后轉到設備,在這里您可以看到所有連接的可用設備。選擇適當的 COM 端口并按照相同的程序上傳草圖。
使用 PlatformIO IDE 對 STM32 板進行編程
對 STM32 板進行編程將具有與上述編程 Arduino UNO 完全相同的步驟。不同之處在于為 STM32 打開新項目時選擇 STM32 的板。PlatformIO的好處是,它不需要任何板子單獨下載任何外部包,它會自動下載所有包,方便我們選擇板子和進入編輯器。我們將使用外部 JLink/ JTAG/ STLink/ 串行編程器將草圖上傳到 STM32。
只需命名項目(此處為“Blink STM32”)。然后選擇STM32的板子,即‘ BluePill F103C8(Generic) ’。然后選擇框架作為 Arduino。單擊完成并等待一段時間,因為最初下載板 STM32 的包和依賴項需要一些時間。
一旦設置,下一個項目創建時間將比第一次少。現在只需轉到左側文件資源管理器中的 Untitled(Workspace) -》 src -》 main.cpp。
現在接下來的步驟將很重要,因為需要決定我們應該使用哪個程序員來對 STM32 板進行編程。有許多可用的編程器,例如 JTAG、STLink、JLink、Serial 等。所有這些都可以工作,但您需要配置“platformio.ini”配置頁面或文件。
在這個項目中,我們使用串行編程器 CP210x USB 到 UART 橋接器。
首先,使用以下引腳映射將串行編程器連接到 STM32 板,并將其連接到 PC。
現在轉到項目資源管理器并打開“platformio.ini”頁面并更改語句,如圖所示。upload_protocol將告訴程序員應該使用哪個(STLink、JLink、Serial 等)。upload_port選擇 COM 端口。您可以通過轉到主頁中的“設備”來找到。根據您的 COM 端口更改 COM 端口。
轉到“main.cpp”并將程序更改為Blink程序。現在只需上傳程序,它將顯示成功消息和上傳時間。現在 LED 將開始閃爍連接到 STM32 板的 PC13 引腳。
這完成了使用 PlatformIO對 Arduino UNO和 STM32 板進行編程的完整教程。
#include
無效設置(){
// 將數字引腳 LED_BUILTIN 初始化為輸出。
pinMode(LED_BUILTIN,輸出);
}
// 循環函數永遠一遍又一遍地運行
無效循環(){
數字寫入(LED_BUILTIN,高);//打開LED(HIGH是電壓電平)
延遲(100);// 等待一秒鐘
數字寫入(LED_BUILTIN,低);//通過使電壓低來關閉LED
延遲(100);// 等待一秒鐘
}
評論
查看更多