快速上手:Arduino Uno 项目搭建与构建

知识库
知识库文档
/tech-stacks/platformio/examples/快速上手:Arduino Uno 项目搭建与构建.md

文档

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 体验

信息

路径
/tech-stacks/platformio/examples/快速上手:Arduino Uno 项目搭建与构建.md
更新时间
2026/5/31