下載網址 https://code.visualstudio.com/
記得其他內的選項全部都要打勾
安裝畫面
開發版除了預設的板子(nano,uno)可以直接上傳程式,其他都要先安裝Platform (類似開發版環境)
- Teensy->裝Teensy
- ESP32->裝Espressif32
- ESP8266->裝Espressif 8266
詳細安裝步驟參考下文
以ESP32為例:
裝好要燒入板子的Platform,就可以開新專案準備燒入程式
Step 2. 建立專案名稱,及選擇MCU,esp32選擇”NodeMCU-32S”,可直接輸入;儲存位置預設為: (D:\Users\IEC5892M\Documents\PlatformIO\Projects)底下。
補充: Teensy:Board選對應的4.0選40,3.2選31 ESP32 : Board選NodeMCU-32S ESP8266:Board 選Espressif Generic ESP8266 ESP-001 1M
- 編譯器主題設置 於介面右下角:
中間就會跳出數種選擇
- 主程式在 src 資料夾之下,會將演算法寫在 main.cpp
以下提供點 LED 燈的範例程式碼
#include <Arduino.h>
void setup()
{
pinMode(LED_BUILTIN, OUTPUT);
}
void loop()
{
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
}
- ini檔 (上傳的設定) 參考程式碼
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[platformio]
; default_envs = teensy31 ;Teensy3.2&3.6
; default_envs = teensy40 ;Teensy4.0
default_envs = nodemcu-32s ;ESP32
; 開發環境共同的部分
[env]
framework = arduino
monitor_speed = 115200 ; 設定序列埠擷取資料的 baud rate(VScode內建的UART顯示baud rate)
lib_extra_dirs = ; 設定本地 library 的絕對路徑 (每台電腦不一樣)
; G:\我的雲端硬碟\My Experiment\My_Libs
lib_deps = ;參考後面加入函式庫
; martinl1/BMP280_DEV@^1.0.18
; bolderflight/Bolder Flight Systems MPU9250@^1.0.2
;以下為各開發板的設定port會根據插入的板子不同而改變
[env:teensy40]
platform = teensy
board = teensy40
upload_port = COM30;上傳的port,參考後面上傳口檢查
[env:teensy31]
platform = teensy
board = teensy31
upload_port = COM6
[env:nodemcu-32s]
platform = espressif32
board = nodemcu-32s
upload_port = COM4
- 設定程式碼上傳的序列埠
- 確認插入單晶片的傳輸port可以藉由點選外星人->Devices->Refresh->看有哪個COM X是你插上去才有的就是這晶片的port
-
更改ini檔中對應開發板中的upload_port,這裡以ESP32示範,COM4,所以ini檔最下面是COM4,且[platformio]底下留default_envs = nodemcu-32s ;ESP32,另外兩個是註解的狀況(前面提供的程式碼),按下Ctrl+Alt+U就可以快速上傳,上傳成功終端機會通知,然後你的ESP32上板載LED就會亮一秒暗一秒(藍燈)。
-
同樣的,這份範例程式碼是Teensy也可以用的,改插上Teensy3.2,此時要更改開發版只要再ini檔前改成tensy31,另兩個註解掉,如下所示。
[platformio]
default_envs = teensy31 ;Teensy3.2&3.6
; default_envs = teensy40 ;Teensy4.0
; default_envs = nodemcu-32s ;ESP32
- 然後也要確認後面對應的teensy31中upload_port是正確的(同樣確認方式)
[env:teensy31]
platform = teensy
board = teensy31
upload_port = COM5
- 上傳成功後板載上的小橘燈會開始閃爍
- 快捷鍵補充:
- 上傳:Ctrl+Alt+U
- Build(編譯但不上傳): Ctrl+Alt+B
- 開啟序列埠終端機: Ctrl+Alt+S
- 離開序列埠終端機:Ctrl+C
- 加入函式庫 有3種加法 (1) 加在include或lib路徑之下,再於主程式#include " "或<>
如有紅線(移動檔案路徑會重抓會需要一段時間,但一段時間也未消失)則移至紅線處,會顯示偵測到錯誤,選快速修復->新增至…..(lib位址),即可引入成功
(2) 引入本地函式庫 前面ini檔中lib_extra_dirs =後面輸入函式庫資料夾位址,則整個資料夾內的函式庫都會引入,當然主程式也要#include " "
(3) 藉由 PlatformIO IDE 來搜尋函式庫 platformIO在介面中選Libraries,並搜尋需要的涵式庫
點選想要的涵式庫,選擇installation,可以直接選取Add to Project,或是將它提供的網址加入ini檔中的lib_deps =即可,加入ini檔好處是此份程式到其他台電腦,會自行下載安裝好(特別說明@^後數字是版本號,不同版本會有些許更動要看作者說明)
範例ini檔中取消註解後如下
lib_deps = ;參考後面加入函式庫
martinl1/BMP280_DEV@^1.0.18
bolderflight/Bolder Flight Systems MPU9250@^1.0.2
上傳或Build會自動下載,記得main檔要都include才不會報錯
#include <MPU9250.h>
#include <BMP280_DEV.h>
它們會存在.pio中開發版的函式庫中,裡面就有examples可以參考如何使用這個 lib
參考用,裝了能提高你的工作效率
- Code Spell Checker
功能:檢查拼字有無錯誤
- TabOut
功能:如果喜歡用tab跳離括號的人可以使用
- Material Icon Theme
功能:檔案總管各種檔案有各自圖示
- Doxygen Documentation Generator
功能:輔助程式註解
- Power Mode
功能:打字可以有特效(但要改json檔,要用自己學 by 志嘉)
- background
功能:可以有賽高的工作環境 by 志嘉 參考json程式碼 (我就幫到這了)
// background
"background.enabled": true,
"background.useDefault": false,
"background.customImages": [
"file:////D:/VSbackground/test.png"
//圖片地址
],
"background.style": {
"content": "''",
"pointer-events": "none",
"position": "absolute",
"z-index": "99999",
"width": "100%",
"height": "100%",
// "background-position": "center",
"background-repeat": "no-repeat",
"background-size": "40%,40%",
"opacity": 0.15
},