Arduino 路线:读懂 Blink
装好 Arduino IDE 后打开 文件、示例、01.Basics、Blink,核心代码只有几行:
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // 板载 LED 引脚设为输出
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // 点亮
delay(1000); // 等 1 秒
digitalWrite(LED_BUILTIN, LOW); // 熄灭
delay(1000);
}
ESP32 上的 Arduino 程序结构和其他 Arduino 板一样:setup 里做初始化,开机只跑一次;loop 里的内容无限循环。点上传,编译完成后自动烧录,板载 LED 一秒一闪就成功了。
经典款 ESP32 的板载 LED 多接在 GPIO 2 上,兼容板有的没有板载 LED,LED_BUILTIN 不闪烁时可以外接一个 LED 到 GPIO 2 和 GND(串一个 220 欧左右的电阻)再试。
Arduino 路线:串口输出
调试主要靠串口。把 Blink 改成带输出的版本:
void setup() {
Serial.begin(115200); // 波特率 115200
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
Serial.println("LED on");
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
Serial.println("LED off");
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
上传后打开 工具、串口监视器,右下角选 115200 波特率,就能看到每秒一行的输出。从此排查问题就有了眼睛:程序走到哪、变量值是多少,print 出来看。
IDF 路线:hello_world 全流程
ESP-IDF 的流程是命令式的。先激活环境(见上一页),然后从官方示例开始:
mkdir -p ~/esp && cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
cd hello_world
idf.py set-target esp32
set-target 指定目标芯片,经典款 ESP32 就写 esp32,C3 写 esp32c3,S3 写 esp32s3,C6 写 esp32c6。接着构建:
idf.py build
构建成功会提示生成固件并告诉你烧录命令。烧录加监视一步完成(PORT 换成实际串口,Linux 如 /dev/ttyUSB0,Windows 如 COM3):
idf.py -p PORT flash monitor
看到 Hello world! 和每秒递减的重启计数就成功了。退出监视器用 Ctrl 加右中括号。
menuconfig 是 IDF 的配置菜单,进项目先跑一次 idf.py set-target 再按需打开菜单配置(如 WiFi 账号)。hello_world 用默认配置即可,menuconfig 可以先跳过。
两条路线的对照
| 动作 | Arduino | ESP-IDF |
|---|---|---|
| 编译并上传 | 点上传按钮 | idf.py -p PORT flash |
| 看运行输出 | 串口监视器 | idf.py -p PORT monitor |
| 项目配置 | 代码里直接写 | idf.py menuconfig |
下一步
会点灯、会看串口之后,进入基础外设页,学 GPIO、PWM 和 ADC 的实际用法。