對于許多人來說,Arduino IDE是第一個編碼經(jīng)驗。在完成工作的同時,它卻缺少了大多數(shù)現(xiàn)代代碼編輯器所具有的關(guān)鍵功能。
Visual Studio Code(VS Code)已迅速成為最受歡迎的代碼編輯器之一,但不支持Arduino開發(fā)
輸入PlatformIO,這是一個用于對Arduino板進(jìn)行編程的開源工具(還有更多)!了解如何獲取PlatformIO并將其用于在VS Code中創(chuàng)建簡單的Arduino草圖。
項目要求
您將需要:
Arduino兼容板。本教程使用Nano克隆。
可從Arduino網(wǎng)站(免費(fèi))獲得Arduino IDE。
Visual Studio Code,可從微軟獲得(免費(fèi))。
今天的指南適用于Windows 10,但這也適用于Linux和Mac。
注意: Windows 10應(yīng)用版本
如何安裝PlatformIO
VS代碼具有許多可幫助程序員的擴(kuò)展,而PlatformIO也不例外。從左側(cè)面板打開VS Code Extensions Marketplace,然后搜索 PlatformIO IDE 。單擊安裝,準(zhǔn)備稍等片刻。
注意:請勿在此過程中關(guān)閉VS Code,因為它可能導(dǎo)致安裝錯誤。
安裝完成后,將在右下角出現(xiàn)提示以重新加載VS Code。單擊它,程序?qū)⒅匦聠?,顯示PlatformIO擴(kuò)展主頁。
設(shè)置項目
PlatformIO主頁為您提供了多個選項,包括打開現(xiàn)有的Arduino項目和鏈接。提出想法。今天,您將重新開始,所以請單擊新建項目。
系統(tǒng)將提示您輸入項目的名稱,然后輸入您將要使用的板。本教程使用Arduino Nano。 PlatformIO支持超過650個板卡,因此您可能會在列表中找到自己的板卡。
如果您是,則 Framework 標(biāo)簽應(yīng)自動填充為 Arduino 使用Arduino兼容板。保留位置復(fù)選框,以使用默認(rèn)安裝位置。如果您正在使用先前制作的Arduino項目,則只需取消選中此選項。
單擊完成并準(zhǔn)備進(jìn)行簡短的準(zhǔn)備等待。 PlatformIO將下載并安裝項目所需的所有依賴項,并在完成后重新啟動IDE。
PlatformIO工作流程
VS代碼重新啟動后您會注意到在資源管理器面板中打開了一個新的項目文件夾。在此階段,不必知道該目錄中的每個文件的功能,您只需將 SRC 目錄用于Arduino草圖即可。
您還將在VS Code的底部欄中看到幾個新圖標(biāo)。這些等效于Arduino IDE中的按鈕-表示編譯的滴答,表示上傳的箭頭,以及表示串行監(jiān)視器的插頭。
現(xiàn)在已經(jīng)完成所有設(shè)置,讓我們開始編碼!
空白程序
PlatformIO為每個新項目創(chuàng)建一個空白草圖。
在資源管理器標(biāo)簽中打開它通過導(dǎo)航到 SRC/main.cpp ,將打開草圖。您會注意到,該文件的擴(kuò)展名與常規(guī)Arduino草圖不同。 CPP 代表C Plus Plus(C ++),這是Arduino語言和IDE使用的編程語言。
注意:本教程使用的是 sketch ,因為對那些具有Arduino IDE背景的人很熟悉。但是,C ++草圖通常被稱為程序。
您會在這里看到一些熟悉的地方-草圖具有 setup 和 loop 功能類似于常規(guī)的Arduino草圖。主要區(qū)別在程序頂部。 #include 標(biāo)頭必須存在于每個PlatformIO項目中,才能正常工作。
現(xiàn)在,讓我們設(shè)置硬件的Hello World-一個閃爍的LED草圖。
LED閃爍
您將創(chuàng)建此Blink草圖,我們將遍歷下面的每一行。
首先定義板載LED引腳。如果您使用的板上板載LED不使用引腳13,請相應(yīng)地對其進(jìn)行更改:
#define onboard 13
使用您的設(shè)置功能來設(shè)置引腳模式。/p》 pinMode(onboard,OUTPUT);
請注意VS Code將如何向您建議代碼,并在按 Enter 鍵時完成它!
最后,通過將引腳 HIGH 和 LOW 設(shè)置為延遲,在循環(huán)功能中創(chuàng)建閃爍LED邏輯。
digitalWrite(onboard, LOW);
delay(1000);
digitalWrite(onboard, HIGH);
delay(1000);
如果有任何錯誤,VS Code會在編碼時告訴您,而不必等到編譯或上傳代碼之后。實時的錯誤檢查和完成使編碼的麻煩程度降低了,而且速度更快!
接下來,您將學(xué)習(xí)如何將草圖上傳到板上。
上載到板上
如果尚未將板子插入USB端口。保存您的草圖,然后單擊底部欄上的標(biāo)記圖標(biāo)進(jìn)行編譯,或單擊箭頭按鈕以一次性編譯并上傳草圖。短暫等待后,您的LED應(yīng)當(dāng)閃爍!
您可能已經(jīng)注意到常規(guī)Arduino工作流程中缺少一個步驟。通常,您需要指定Arduino連接到哪個 COM 端口。將草圖上傳到板上時,如果在輸出中滾動,則會注意到PlatformIO會自動為您檢測板。
串行監(jiān)視器
最后,向每個功能添加一行代碼以測試串行監(jiān)視器。在安裝程序中添加:
Serial.begin(9600);
,然后在循環(huán)功能中,每當(dāng)循環(huán)完成時,將一條消息打印到串行監(jiān)視器:
Serial.println(“l(fā)oop completed”);
上傳草圖,然后單擊底部欄上的插頭圖標(biāo)以打開串行監(jiān)視器并查看您的消息。
Arduino編碼的新世界
使用VS Code和PlatformIO為Arduino編碼帶來了新鮮的空氣。由于Visual Studio的Live Share功能,它還使遠(yuǎn)程協(xié)作變得更加容易。
責(zé)任編輯:wv
-
軟件
+關(guān)注
關(guān)注
69文章
5021瀏覽量
88111 -
編碼
+關(guān)注
關(guān)注
6文章
958瀏覽量
54960 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187894
發(fā)布評論請先 登錄
相關(guān)推薦
用于 SPI 絕對編碼器的 Arduino 示例代碼
![用于 SPI 絕對<b class='flag-5'>編碼</b>器的 <b class='flag-5'>Arduino</b> 示例代碼](https://file1.elecfans.com/web3/M00/06/8D/wKgZPGeM_y6AQfmPAABlEOwHFDc990.jpg)
用MCUXPresso for VS Code插件 從0開始打造HelloWorld
![用MCUXPresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件 從0開始打造HelloWorld](https://file1.elecfans.com/web3/M00/06/25/wKgZPGeIX0CAFTJdAAAOE-bIYt0979.png)
使用MCUXpresso for VS Code插件開發(fā)Zephyr的hello world
![使用MCUXpresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件開發(fā)Zephyr的hello world](https://file1.elecfans.com/web3/M00/04/A6/wKgZPGd3PBeAcAcFAABDETVNApk954.png)
Zephyr領(lǐng)進(jìn)門系列:MCUXPresso for VS Code插件安裝
![Zephyr領(lǐng)進(jìn)門系列:MCUXPresso for <b class='flag-5'>VS</b> <b class='flag-5'>Code</b>插件安裝](https://file1.elecfans.com/web3/M00/03/05/wKgZO2djfSaAUujAAAAfBRCwTeE291.png)
IAR升級VS Code調(diào)試擴(kuò)展,引入Listwindow技術(shù)
?IAR C-SPY為VS Code社區(qū)樹立調(diào)試新標(biāo)準(zhǔn)
Vector推出一套基于Visual Studio Code的免費(fèi)插件
![Vector推出一套基于Visual Studio <b class='flag-5'>Code</b>的免費(fèi)插件](https://file1.elecfans.com/web2/M00/0C/4C/wKgZomdCxOqAK8gwAAAF0jdn2RY627.jpg)
Microchip發(fā)布面向VS Code的MPLAB擴(kuò)展早期體驗版本
在rtthreadstudio中安裝platformio,一直報出platformio未安裝怎么解決?
求助,請問如何在RTOS SDK 1.5的PlatformIO IDE ESP8266實現(xiàn)MQTT?
Visual Studio Code的 espressif-idf插件下出現(xiàn)卡頓的原因?
請問ESP32-SOLO-1單核PlatformIO怎么設(shè)置?
芯海 32 位 MCU 開發(fā)調(diào)試 ,基于 VS Code 插件實現(xiàn)芯海 32 位 MCU 開發(fā)調(diào)試
如何將增量旋轉(zhuǎn)編碼器與Arduino連接
![如何將增量旋轉(zhuǎn)<b class='flag-5'>編碼</b>器與<b class='flag-5'>Arduino</b>連接](https://file1.elecfans.com/web2/M00/BE/85/wKgaomWsepSAWIAfAABv5e2I5S8036.png)
評論