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其实够学一阵子了。

如果你需要完整版,那就得用注册机。具体步骤:

  1. 以管理员身份运行Keil
  2. 点击 File → License Management
  3. 复制CID码
  4. 打开注册机,粘贴CID,选择ARM,生成激活码
  5. 把激活码粘贴回去,点击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为例,演示一下基本配置流程:

  1. 点击“New Project”
  2. 在搜索框输入“STM32F103C8”,双击选中
  3. 在Pinout界面,配置RCC(HSE选择Crystal/Ceramic Resonator)
  4. 配置SYS(Debug选择Serial Wire)
  5. 配置USART1(模式选Asynchronous)
  6. 点击Clock Configuration,配置系统时钟为72MHz
  7. 点击Project Manager,设置工程名和路径
  8. Toolchain / IDE选择MDK-ARM V5
  9. 点击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和串口,老牌工具

使用步骤:

  1. 打开串口调试工具
  2. 选择正确的COM口(设备管理器里查看)
  3. 设置波特率(一般用115200或9600)
  4. 数据位8,停止位1,无校验
  5. 点击“打开串口”
小经验: 如果发送数据没反应,先检查波特率是否匹配。我遇到过最奇葩的问题,是USB转TTL模块的VCC和GND接反了,模块直接冒烟。嗯,从那以后我每次上电前都会用万用表测一下。

2.6 验证环境是否搭建成功

所有工具装好后,咱们来验证一下:

  1. 打开Keil,新建一个空工程
  2. 用CubeMX生成一个串口打印的工程
  3. 编译,下载到开发板
  4. 打开串口调试助手,如果能看到“Hello World”打印出来,说明环境搭建成功

说白了,这一步就是确认你的电脑、工具、硬件之间能正常通信。如果卡住了,别慌,99%的问题出在驱动或接线。

好,环境搭好了,下一章咱们就开始写第一个程序——点亮LED。那才是真正入门的开始。