4、开发环境搭建:Arduino IDE与PlatformIO安装、ESP32/STM32开发板配置、串口驱动安装与测试

好,咱们正式开始动手了。这一章我带你搭开发环境。

说实话,我见过太多初学者卡在这一步。不是装不上,就是装上了不知道怎么用。其实没那么玄乎,咱们一步步来。

4.1 选哪个?Arduino IDE 还是 PlatformIO?

先说说这两个工具的区别。你想想看,Arduino IDE 就像一把瑞士军刀,小巧、够用、上手快。PlatformIO 呢,更像一个专业工具箱,功能强大但需要点学习成本。

我个人习惯:快速验证、给学生演示的时候用 Arduino IDE。做正式项目、需要调试的时候,我必用 PlatformIO。为什么?因为 PlatformIO 有代码补全、有调试器、还能一键切换开发板。我在项目中遇到过好几次,用 Arduino IDE 写好了代码,换了个芯片型号就得重新配环境,烦得很。

不过这一章,咱们两个都装。你以后爱用哪个用哪个。

4.2 安装 Arduino IDE

这个最简单,去官网下载就行。我建议你下载 2.x 版本,界面比 1.x 好看多了,而且自带串口监视器。

  1. 打开浏览器,搜索 "Arduino IDE 下载"
  2. 选对应你操作系统的版本(Windows、macOS、Linux)
  3. 下载后直接安装,一路下一步
小提示:Windows 用户安装时,记得勾选 "安装 USB 驱动"。虽然现在大部分系统会自动装,但勾上更保险。我曾经因为没勾这个,折腾了半小时才发现是驱动问题。

4.3 配置 ESP32 开发板

Arduino IDE 默认不支持 ESP32,得手动加。嗯,这里要注意:ESP32 的配置和 STM32 不太一样,咱们分开说。

步骤:

  1. 打开 Arduino IDE,点 文件 → 首选项
  2. 在 "附加开发板管理器网址" 里填入:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  1. 工具 → 开发板 → 开发板管理器
  2. 搜索 "ESP32",找到 esp32 by Espressif Systems,点击安装
注意:这个下载过程可能比较慢,因为要下载几百兆的编译工具链。我建议你找个网络好的时候搞。如果下载失败,可以试试用手机热点,有时候比公司网络快。

装完之后,在 工具 → 开发板 里就能看到 ESP32 系列了。选 "ESP32 Dev Module" 就行,这是最常见的型号。

4.4 配置 STM32 开发板

STM32 的配置稍微麻烦一点。我用的是 STM32F103C8T6,也就是大家常说的 "蓝色药丸" 板子。

步骤:

  1. 同样在首选项里,添加这个网址:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
  1. 开发板管理器里搜索 "STM32",安装 "STM32 Cores by STMicroelectronics"
  2. 安装完成后,选 工具 → 开发板 → STM32 Boards → Generic STM32F103C series

这里有个坑,我跟你讲:选完开发板之后,还得配几个参数。在 工具 菜单里:

  • Board part number:选 "BluePill F103C8"
  • Upload method:选 "Serial"(如果你用 USB 转串口下载)
  • CPU speed:选 "72MHz"(标准频率)

关键点:STM32 的串口下载需要先把 BOOT0 跳线接到高电平,然后按复位键。下载完成后,再把 BOOT0 跳回低电平,再次复位才能运行程序。这个步骤我刚开始也老忘,后来在板子上贴了个小标签才记住。

4.5 安装 PlatformIO

PlatformIO 是 VS Code 的插件。如果你还没装 VS Code,先去装一个。

安装步骤:

  1. 打开 VS Code,点左侧的扩展图标(四个方块那个)
  2. 搜索 "PlatformIO IDE"
  3. 点击安装,等它下载完成

安装过程会下载一些依赖,大概 5-10 分钟。这时候你可以去泡杯茶。

装完之后,VS Code 底部会出现一个 "蚂蚁头" 图标,那就是 PlatformIO 的入口。

4.6 创建第一个 PlatformIO 项目

点那个蚂蚁头,选 New Project。然后:

  • Name:随便起,比如 "my_io_control"
  • Board:搜索 "ESP32 Dev Module" 或 "STM32F103C8"
  • Framework:选 "Arduino"(这样咱们可以用 Arduino 的语法)
  • Location:默认就行

创建完成后,你会看到项目结构。最重要的两个文件:

  • src/main.cpp:你的代码写在这里
  • platformio.ini:项目的配置文件

打开 platformio.ini,你会看到类似这样的内容:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
monitor_speed = 115200

这个文件就是 PlatformIO 的灵魂。你想换开发板?改 board 那一行就行。想改串口波特率?改 monitor_speed

4.7 串口驱动安装

不管是 ESP32 还是 STM32,都得通过串口和电脑通信。但不同的板子用的串口芯片不一样。

开发板 常见串口芯片 驱动下载
ESP32 Dev Module CP2102 或 CH340 Silicon Labs 或 WCH 官网
STM32 Blue Pill CH340G WCH 官网
Arduino Uno ATmega16U2 系统自带

怎么判断你的板子用哪个芯片? 看板子上的 USB 接口附近,有个小芯片,上面印着型号。拿个放大镜看,或者手机拍照放大。

驱动安装很简单:

  • CH340 驱动:去 WCH 官网下载 "CH340/CH341 串口驱动"
  • CP2102 驱动:去 Silicon Labs 官网下载 "CP210x USB to UART Bridge VCP Drivers"

装完之后,把板子插到电脑上。打开设备管理器(Windows 按 Win+X,选设备管理器),看看 "端口 (COM 和 LPT)" 下面有没有新设备。如果有,恭喜你,驱动装好了。

避坑指南:我曾经遇到过一个问题——插上板子后设备管理器里显示黄色感叹号。折腾了半天,发现是驱动版本不对。CH340 的驱动有 32 位和 64 位之分,别下错了。另外,有些山寨板子用的 CH340G 芯片,需要手动指定驱动路径安装。

4.8 串口通信测试

环境搭好了,咱们来写个最简单的程序测试一下。这个程序会让板子每隔一秒打印 "Hello from IO Control System!"。

Arduino IDE 版本:

void setup() {
  Serial.begin(115200);
  Serial.println("System starting...");
}

void loop() {
  Serial.println("Hello from IO Control System!");
  delay(1000);
}

PlatformIO 版本(写在 main.cpp 里):

#include <Arduino.h>

void setup() {
  Serial.begin(115200);
  Serial.println("System starting...");
}

void loop() {
  Serial.println("Hello from IO Control System!");
  delay(1000);
}

上传代码后,打开串口监视器(Arduino IDE 右上角那个放大镜图标,PlatformIO 底部有个 "Serial Monitor" 按钮)。设置波特率为 115200,你应该能看到板子不停地打印消息。

如果看不到任何输出,检查这几样:

  • 串口号选对了没?设备管理器里看是 COM 几
  • 波特率是不是 115200?
  • 板子供电正常吗?有些 USB 线只能充电不能传数据
我的经验:串口调试是嵌入式开发的基本功。我建议你养成一个好习惯——每个程序开头都加一句打印,输出当前状态。这样出了问题,看串口日志就能定位。我有个项目,现场调试时设备死活连不上网,最后发现是串口打印里暴露了 IP 地址配错了。

4.9 本章小结

到这,你的开发环境就搭好了。Arduino IDE 和 PlatformIO 都装上了,ESP32 和 STM32 的板子也配好了,串口也能通信了。

下一章,咱们开始写真正的 IO 控制程序。到时候你会发现,环境搭好了,剩下的就是写代码的事了。

哦对了,如果你在安装过程中遇到问题,别慌。先看看设备管理器里有没有识别到设备,再看看串口号对不对。90% 的问题都出在这两个地方。