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 下载与安装
- 去ARM官网或Keil官网下载MDK-Arm版本(注意别下成C51,那是51单片机的)
- 双击安装,一路默认路径就行。但我建议你改到非C盘,比如
D:\Keil_v5,免得系统盘爆炸 - 安装完成后,打开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 安装步骤
- 去arduino.cc下载最新版(现在都是2.x版本了,界面比1.x好看不少)
- 安装时,记得勾选“安装USB驱动”,不然你插上板子电脑不认
- 安装完,打开IDE,进入
文件 -> 首选项 -> 附加开发板管理器网址,填入ESP32的JSON链接:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - 然后去
工具 -> 开发板 -> 开发板管理器,搜索“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 调试小技巧
串口调试时,最怕什么?乱码。我遇到过好几次,折腾半天发现是波特率没对上。还有一次,是地线没接好,数据全是乱码。嗯,检查硬件连接永远是第一步。
调试三步走:
- 确认驱动安装成功,设备管理器里能看到COM口
- 确认波特率、数据位等参数与固件一致
- 用一根杜邦线短接TX和RX,看能不能收到自己发的数据(自环测试)
自环测试能帮你快速判断是硬件问题还是软件问题。如果短接后能收到数据,说明串口硬件和驱动都没问题,问题出在板子固件上。反之,就得检查驱动或线缆了。
4.6 本章小结
这一章内容不少,但都是基本功。你想想看,如果连环境都搭不好,后面写再多代码也跑不起来,对吧?
我建议你:先装Arduino IDE,点亮一个LED,建立信心。然后再去折腾ESP-IDF,感受一下专业框架的威力。至于Keil MDK,用到的时候再装也不迟。
下一章,咱们开始讲传感器选型。到时候,你会用到今天装好的这些工具来读取真实的环境数据。准备好了吗?