4、开发环境搭建:Keil MDK / Arduino IDE 安装与配置、ESP-IDF 环境搭建、串口驱动安装与调试

好,咱们正式开始动手了。

这一章,说白了就是给你的电脑“武装”起来。没有趁手的工具,再牛的算法也跑不起来。我见过不少新手,代码写得挺漂亮,结果卡在环境配置上,一卡就是半天。嗯,咱们别走那个弯路。

4.1 为什么需要三种开发环境?

你可能会问:“一个项目,搞三个IDE,是不是太折腾了?”

其实不是。我个人的习惯是:什么芯片用什么工具。咱们这个农业洪水预警系统,核心是ESP32。但调试阶段,你可能需要快速验证传感器逻辑,这时候Arduino IDE最顺手。到了做低功耗、深度优化的时候,又得靠ESP-IDF。至于Keil MDK,主要是给那些用STM32做边缘网关的同学准备的。

说白了,工具是为你服务的,别被工具绑架

我的建议:

  • 新手先装Arduino IDE,上手最快
  • 做产品级项目,必须掌握ESP-IDF
  • Keil MDK留着,万一用到STM32,不用临时抱佛脚

4.2 Keil MDK 安装与配置

Keil MDK,主要是ARM内核单片机的老牌工具。我在做早期原型机时用过它,稳定,但配置起来有点繁琐。

4.2.1 下载与安装

  1. 去ARM官网或Keil官网下载MDK-Arm版本(注意别下成C51,那是51单片机的)
  2. 双击安装,一路默认路径就行。但我建议你改到非C盘,比如 D:\Keil_v5,免得系统盘爆炸
  3. 安装完成后,打开Keil,点击 Pack Installer,安装你需要的芯片包。比如STM32F103系列,就搜“STM32F1”

注意: 我曾经遇到过安装后编译报错“找不到芯片”,就是因为忘了装Pack包。这一步别跳。

4.2.2 配置编译器

Keil默认用的是ARMCC(V5编译器)。如果你用的是新款的芯片,比如Cortex-M4以上的,我建议你切换到AC6(基于LLVM),编译速度更快,报错信息也更友好。

操作路径:Project -> Options for Target -> Target -> ARM Compiler -> Select "Use default compiler version 6"

4.3 Arduino IDE 安装与配置

这个就轻松多了。Arduino IDE,我愿称之为“嵌入式界的Hello World”。

4.3.1 安装步骤

  1. 去arduino.cc下载最新版(现在都是2.x版本了,界面比1.x好看不少)
  2. 安装时,记得勾选“安装USB驱动”,不然你插上板子电脑不认
  3. 安装完,打开IDE,进入 文件 -> 首选项 -> 附加开发板管理器网址,填入ESP32的JSON链接:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
  4. 然后去 工具 -> 开发板 -> 开发板管理器,搜索“ESP32”,安装esp32 by Espressif Systems

小技巧: 安装ESP32包时,如果下载慢,可以挂个代理,或者直接去GitHub下载离线包。我一般提前下载好,放到 C:\Users\你的用户名\AppData\Local\Arduino15\staging\packages 里,这样安装就是秒级。

4.3.2 验证安装

装好后,选一个示例程序:文件 -> 示例 -> 01.Basics -> Blink。把板子连上电脑,选好端口和开发板(比如“ESP32 Dev Module”),点上传。如果LED开始闪烁,恭喜你,环境通了。

4.4 ESP-IDF 环境搭建

这是重头戏。ESP-IDF是乐鑫官方出的框架,功能强大,但配置起来也最折腾。我第一次搭的时候,光环境变量就搞了半小时。

4.4.1 安装方式选择

有两种方式:

  • 离线安装器(推荐新手):去乐鑫官网下载ESP-IDF Windows Installer,选“Offline”版本。它会帮你装好Python、Git、CMake等依赖,省心。
  • 手动安装(老手玩法):自己装Python、Git,然后克隆ESP-IDF仓库。好处是版本可控,坏处是容易漏东西。

我个人建议:第一次用离线安装器。等熟悉了,再手动折腾。

4.4.2 配置环境变量

安装完后,打开终端(CMD或PowerShell),运行:

%userprofile%\esp\esp-idf\export.bat

这个脚本会设置所有环境变量。每次打开新终端,都得跑一次。嫌麻烦?可以把它加到系统环境变量里,或者用VS Code的ESP-IDF插件,它会自动帮你搞定。

我曾经踩过的坑: 安装路径里不要有中文或空格!比如 D:\程序\ESP-IDF 这种,编译时会报一些莫名其妙的错误。老老实实用英文路径。

4.4.3 编译第一个工程

cd %userprofile%\esp
cp -r esp-idf\examples\get-started\hello_world .
cd hello_world
idf.py set-target esp32
idf.py menuconfig  # 这里可以配置WiFi、Flash大小等
idf.py build

如果一切顺利,你会看到一堆编译信息,最后出现 Project build complete。嗯,那一刻还是挺有成就感的。

4.5 串口驱动安装与调试

环境搭好了,代码也编译了,怎么跟板子通信?靠串口。

4.5.1 驱动安装

ESP32开发板通常用的是CP2102或CH340G芯片。Windows 10/11一般能自动识别,但如果没反应,你需要手动装驱动:

  • CP2102:去Silicon Labs官网下载CP210x驱动程序
  • CH340:去WCH官网下载CH340驱动(注意区分32位和64位)

我的经验: 插上板子后,打开设备管理器,看“端口(COM和LPT)”下面有没有出现新设备。如果出现黄色感叹号,就是驱动没装好。右键更新驱动,手动指定你下载的驱动文件夹就行。

4.5.2 串口调试工具

我常用的工具有两个:

工具名称 特点 适用场景
Arduino IDE 串口监视器 简单,集成在IDE里 快速查看打印信息
Putty / MobaXterm 功能强大,支持SSH、串口、Telnet 调试AT指令、查看原始数据
SSCOM (串口助手) 国产,轻量,支持自动发送 批量发送数据测试

设置串口参数时,记得:波特率115200,数据位8,停止位1,无校验。这是ESP32的默认配置。如果你改了menuconfig里的设置,记得保持一致。

4.5.3 调试小技巧

串口调试时,最怕什么?乱码。我遇到过好几次,折腾半天发现是波特率没对上。还有一次,是地线没接好,数据全是乱码。嗯,检查硬件连接永远是第一步。

调试三步走:

  1. 确认驱动安装成功,设备管理器里能看到COM口
  2. 确认波特率、数据位等参数与固件一致
  3. 用一根杜邦线短接TX和RX,看能不能收到自己发的数据(自环测试)

自环测试能帮你快速判断是硬件问题还是软件问题。如果短接后能收到数据,说明串口硬件和驱动都没问题,问题出在板子固件上。反之,就得检查驱动或线缆了。

4.6 本章小结

这一章内容不少,但都是基本功。你想想看,如果连环境都搭不好,后面写再多代码也跑不起来,对吧?

我建议你:先装Arduino IDE,点亮一个LED,建立信心。然后再去折腾ESP-IDF,感受一下专业框架的威力。至于Keil MDK,用到的时候再装也不迟。

下一章,咱们开始讲传感器选型。到时候,你会用到今天装好的这些工具来读取真实的环境数据。准备好了吗?