2、开发环境搭建:Keil/IAR安装、STM32CubeMX配置、串口驱动安装、USB转TTL工具使用
好,咱们正式开始动手了。
这一章,说白了就是把你电脑武装成一个能干活的工作台。很多新手一上来就急着写代码,结果连灯都点不亮——为啥?环境没搭对。
我个人习惯是先把工具链理清楚,再动手。磨刀不误砍柴工嘛。
2.1 Keil MDK 安装与破解
Keil MDK,ARM单片机开发最常用的IDE。我当年第一次用的时候,被它的工程管理搞得一头雾水,后来习惯了才发现真香。
2.1.1 下载与安装
- 去Keil官网下载MDK-Arm版本(注意不是C51,那是51单片机的)
- 双击安装,一路Next就行。安装路径我建议别带中文,否则后面编译报错你都不知道咋回事
- 安装完成后,桌面会出现一个uVision5的图标
注意: 安装路径不要有空格和中文!我曾经有个学员,装在了“D:\我的工具\Keil_v5”,结果编译一直报找不到文件,折腾了两小时才发现是路径问题。
2.1.2 注册与破解
Keil是收费软件,但我们可以用评估版(代码限制32KB)。对于STM32F103这种芯片,32KB其实够学一阵子了。
如果你需要完整版,那就得用注册机。具体步骤:
- 以管理员身份运行Keil
- 点击 File → License Management
- 复制CID码
- 打开注册机,粘贴CID,选择ARM,生成激活码
- 把激活码粘贴回去,点击Add License
小技巧: 注册机容易被杀毒软件误报。我一般先关掉实时防护,激活完再打开。别担心,这是正常现象。
2.2 IAR Embedded Workbench 安装
IAR,另一个主流IDE。说实话,我个人更喜欢Keil的界面,但IAR的编译优化确实更强。有些项目要求必须用IAR,所以咱们也得会。
2.2.1 安装步骤
- 下载IAR for ARM版本(注意版本号,8.x和9.x差别挺大)
- 安装时选择“Install IAR Embedded Workbench”
- 许可证选择“Register later”
- 安装完成后,用注册机激活(方法和Keil类似)
我的建议: 初学者先用Keil,等熟悉了再尝试IAR。两个都装也没问题,但别混用工程文件——.uvprojx和.ewp不通用。
2.3 STM32CubeMX 配置
STM32CubeMX,ST官方出的图形化配置工具。你想想看,以前配置时钟、GPIO、外设,全得看数据手册手动写寄存器,一个不小心就翻车。现在好了,点点鼠标就能生成初始化代码。
2.3.1 安装CubeMX
- 去ST官网下载STM32CubeMX(需要注册账号,免费)
- 安装时需要Java环境(JRE 1.8以上),没有的话会提示你安装
- 安装完成后,打开软件,它会自动检查更新
2.3.2 配置一个最小系统
咱们以STM32F103C8T6为例,演示一下基本配置流程:
- 点击“New Project”
- 在搜索框输入“STM32F103C8”,双击选中
- 在Pinout界面,配置RCC(HSE选择Crystal/Ceramic Resonator)
- 配置SYS(Debug选择Serial Wire)
- 配置USART1(模式选Asynchronous)
- 点击Clock Configuration,配置系统时钟为72MHz
- 点击Project Manager,设置工程名和路径
- Toolchain / IDE选择MDK-ARM V5
- 点击GENERATE CODE,生成代码
避坑指南: 生成代码时,如果提示“Firmware Package缺失”,点击“Install”下载对应的固件包。我曾经因为网络问题下载失败,后来手动去官网下载了离线包才搞定。
2.4 串口驱动安装
串口驱动,说白了就是让电脑认识你的USB转串口设备。市面上最常见的芯片是CH340和CP2102。
2.4.1 CH340驱动
- 淘宝上买的USB转TTL模块,十有八九是CH340
- 去官网下载CH340驱动(或者用驱动精灵自动安装)
- 安装完成后,插上模块,设备管理器里会出现“USB-SERIAL CH340”
2.4.2 CP2102驱动
- Silicon Labs的芯片,比CH340稳定一些
- 下载CP210x Universal Windows Driver
- 安装后,设备管理器显示“Silicon Labs CP210x USB to UART Bridge”
注意: 如果设备管理器里显示黄色感叹号,说明驱动没装好。右键点击,选择“更新驱动程序”,手动指定驱动文件夹即可。我遇到过好几次,都是因为Windows自动更新把驱动搞乱了。
2.5 USB转TTL工具使用
USB转TTL,嵌入式工程师的必备工具。它能把电脑的USB信号转换成单片机能识别的串口信号(TX、RX)。
2.5.1 硬件连接
| USB转TTL模块 | STM32开发板 | 说明 |
|---|---|---|
| TX | RX (PA10) | 交叉连接 |
| RX | TX (PA9) | 交叉连接 |
| GND | GND | 共地,必须接 |
| VCC | 3.3V或5V | 根据模块选择 |
核心要点: TX接RX,RX接TX,GND接GND。这个口诀记牢了,串口通信就不会接反。我刚开始学的时候,接反了三次,烧了一个模块才记住。
2.5.2 串口调试工具
推荐两个工具:
- SSCOM(串口调试助手):轻量级,功能齐全,适合初学者
- Putty:支持SSH和串口,老牌工具
使用步骤:
- 打开串口调试工具
- 选择正确的COM口(设备管理器里查看)
- 设置波特率(一般用115200或9600)
- 数据位8,停止位1,无校验
- 点击“打开串口”
小经验: 如果发送数据没反应,先检查波特率是否匹配。我遇到过最奇葩的问题,是USB转TTL模块的VCC和GND接反了,模块直接冒烟。嗯,从那以后我每次上电前都会用万用表测一下。
2.6 验证环境是否搭建成功
所有工具装好后,咱们来验证一下:
- 打开Keil,新建一个空工程
- 用CubeMX生成一个串口打印的工程
- 编译,下载到开发板
- 打开串口调试助手,如果能看到“Hello World”打印出来,说明环境搭建成功
说白了,这一步就是确认你的电脑、工具、硬件之间能正常通信。如果卡住了,别慌,99%的问题出在驱动或接线。
好,环境搭好了,下一章咱们就开始写第一个程序——点亮LED。那才是真正入门的开始。