文档
PlatformIO 快速上手:Arduino Uno 项目搭建与构建
目标
使用 PlatformIO CLI 创建 Arduino Uno 项目,完成编译、上传、串口监控的全流程。
前提
已安装 PlatformIO Core(pio --version 验证)。
完整步骤
1. 创建项目
# 创建目录并初始化 Arduino Uno 项目
mkdir pio-hello && cd pio-hello
pio project init --board uno --ide vscode
生成的 platformio.ini 如下:
; platformio.ini
[env:uno]
platform = atmelavr
board = uno
framework = arduino
monitor_speed = 9600
2. 编写代码
src/main.cpp:
#include <Arduino.h>
const int LED_PIN = LED_BUILTIN;
unsigned long lastToggle = 0;
bool ledState = LOW;
unsigned long loopCount = 0;
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
while (!Serial) { delay(10); }
Serial.println("\n=== PlatformIO Hello ===");
Serial.print("Board: ");
Serial.println(ARDUINO_BOARD);
Serial.print("CPU Freq: ");
Serial.print(F_CPU / 1000000);
Serial.println(" MHz");
}
void loop() {
loopCount++;
if (millis() - lastToggle >= 500) {
lastToggle = millis();
ledState = !ledState;
digitalWrite(LED_PIN, ledState);
Serial.print("[");
Serial.print(loopCount);
Serial.print("] LED: ");
Serial.println(ledState ? "ON" : "OFF");
}
}
3. 编译
pio run
# 或指定环境:
pio run -e uno
成功输出:
Processing uno (platform: atmelavr; board: uno; framework: arduino)
...
RAM: [=== ] 25.4% (used 521 bytes from 2048 bytes)
Flash: [= ] 8.7% (used 2814 bytes from 32256 bytes)
========================= [SUCCESS] Took 3.45 seconds =========================
4. 上传
# 自动检测端口并上传
pio run --target upload
# 或指定端口
pio run --target upload --upload-port /dev/ttyUSB0
5. 串口监控
pio device monitor
# 退出:Ctrl+C
预期输出:
=== PlatformIO Hello ===
Board: Arduino Uno
CPU Freq: 16 MHz
[1] LED: ON
[2] LED: OFF
[3] LED: ON
...
6. 一键编译+上传+监控
pio run -t upload && pio device monitor
关键点
platformio.ini是声明式配置核心,无需手写 Makefile- 自动管理 Arduino 框架和 AVR 工具链,首次
pio run会自动下载 pio device list可查看所有连接的串口设备- 配合 VSCode 使用:项目目录下
code .即可获得完整 IDE 体验