對于許多人來說,Arduino IDE是第一個編碼經驗。在完成工作的同時,它卻缺少了大多數現代代碼編輯器所具有的關鍵功能。
Visual Studio Code(VS Code)已迅速成為最受歡迎的代碼編輯器之一,但不支持Arduino開發
輸入PlatformIO,這是一個用于對Arduino板進行編程的開源工具(還有更多)!了解如何獲取PlatformIO并將其用于在VS Code中創建簡單的Arduino草圖。
項目要求
您將需要:
Arduino兼容板。本教程使用Nano克隆。
可從Arduino網站(免費)獲得Arduino IDE。
Visual Studio Code,可從微軟獲得(免費)。
今天的指南適用于Windows 10,但這也適用于Linux和Mac。
注意: Windows 10應用版本
如何安裝PlatformIO
VS代碼具有許多可幫助程序員的擴展,而PlatformIO也不例外。從左側面板打開VS Code Extensions Marketplace,然后搜索 PlatformIO IDE 。單擊安裝,準備稍等片刻。
注意:請勿在此過程中關閉VS Code,因為它可能導致安裝錯誤。
安裝完成后,將在右下角出現提示以重新加載VS Code。單擊它,程序將重新啟動,顯示PlatformIO擴展主頁。
設置項目
PlatformIO主頁為您提供了多個選項,包括打開現有的Arduino項目和鏈接。提出想法。今天,您將重新開始,所以請單擊新建項目。
系統將提示您輸入項目的名稱,然后輸入您將要使用的板。本教程使用Arduino Nano。 PlatformIO支持超過650個板卡,因此您可能會在列表中找到自己的板卡。
如果您是,則 Framework 標簽應自動填充為 Arduino 使用Arduino兼容板。保留位置復選框,以使用默認安裝位置。如果您正在使用先前制作的Arduino項目,則只需取消選中此選項。
單擊完成并準備進行簡短的準備等待。 PlatformIO將下載并安裝項目所需的所有依賴項,并在完成后重新啟動IDE。
PlatformIO工作流程
VS代碼重新啟動后您會注意到在資源管理器面板中打開了一個新的項目文件夾。在此階段,不必知道該目錄中的每個文件的功能,您只需將 SRC 目錄用于Arduino草圖即可。
您還將在VS Code的底部欄中看到幾個新圖標。這些等效于Arduino IDE中的按鈕-表示編譯的滴答,表示上傳的箭頭,以及表示串行監視器的插頭。
現在已經完成所有設置,讓我們開始編碼!
空白程序
PlatformIO為每個新項目創建一個空白草圖。
在資源管理器標簽中打開它通過導航到 SRC/main.cpp ,將打開草圖。您會注意到,該文件的擴展名與常規Arduino草圖不同。 CPP 代表C Plus Plus(C ++),這是Arduino語言和IDE使用的編程語言。
注意:本教程使用的是 sketch ,因為對那些具有Arduino IDE背景的人很熟悉。但是,C ++草圖通常被稱為程序。
您會在這里看到一些熟悉的地方-草圖具有 setup 和 loop 功能類似于常規的Arduino草圖。主要區別在程序頂部。 #include 標頭必須存在于每個PlatformIO項目中,才能正常工作。
現在,讓我們設置硬件的Hello World-一個閃爍的LED草圖。
LED閃爍
您將創建此Blink草圖,我們將遍歷下面的每一行。
首先定義板載LED引腳。如果您使用的板上板載LED不使用引腳13,請相應地對其進行更改:
#define onboard 13
使用您的設置功能來設置引腳模式。/p》 pinMode(onboard,OUTPUT);
請注意VS Code將如何向您建議代碼,并在按 Enter 鍵時完成它!
最后,通過將引腳 HIGH 和 LOW 設置為延遲,在循環功能中創建閃爍LED邏輯。
digitalWrite(onboard, LOW);
delay(1000);
digitalWrite(onboard, HIGH);
delay(1000);
如果有任何錯誤,VS Code會在編碼時告訴您,而不必等到編譯或上傳代碼之后。實時的錯誤檢查和完成使編碼的麻煩程度降低了,而且速度更快!
接下來,您將學習如何將草圖上傳到板上。
上載到板上
如果尚未將板子插入USB端口。保存您的草圖,然后單擊底部欄上的標記圖標進行編譯,或單擊箭頭按鈕以一次性編譯并上傳草圖。短暫等待后,您的LED應當閃爍!
您可能已經注意到常規Arduino工作流程中缺少一個步驟。通常,您需要指定Arduino連接到哪個 COM 端口。將草圖上傳到板上時,如果在輸出中滾動,則會注意到PlatformIO會自動為您檢測板。
串行監視器
最后,向每個功能添加一行代碼以測試串行監視器。在安裝程序中添加:
Serial.begin(9600);
,然后在循環功能中,每當循環完成時,將一條消息打印到串行監視器:
Serial.println(“loop completed”);
上傳草圖,然后單擊底部欄上的插頭圖標以打開串行監視器并查看您的消息。
Arduino編碼的新世界
使用VS Code和PlatformIO為Arduino編碼帶來了新鮮的空氣。由于Visual Studio的Live Share功能,它還使遠程協作變得更加容易。
責任編輯:wv
-
軟件
+關注
關注
69文章
4921瀏覽量
87398 -
編碼
+關注
關注
6文章
940瀏覽量
54814 -
Arduino
+關注
關注
188文章
6468瀏覽量
186954
發布評論請先 登錄
相關推薦
評論