1. 课程导入与工程全景
各位同学好,我是你们这门课的老周。做嵌入式开发十几年了,从51单片机一路做到现在的ARM Cortex-M系列。说实话,每次带新人入门,我最怕的就是环境没搭好就急着写代码——结果编译报错找半天,最后发现是软件没装对。
这一章咱们不急着写代码。先把家伙事儿备齐,把路铺平。你想想看,盖房子总得先把砖和水泥准备好,对吧?
1.1 课程目标:我们要学会什么?
这门课不是讲理论,是实战。学完以后,你能独立完成下面这几件事:
- 读懂单片机ADC——知道怎么把模拟电压变成数字量
- 驱动常见传感器——比如DHT11温湿度传感器,能读到真实数据
- 玩转串口通信——让单片机跟电脑“说话”,把数据发到串口助手
- 搭建完整采集系统——从传感器到上位机,一条龙打通
说白了,就是让你能独立做一个“传感器采集→单片机处理→串口上传”的完整链路。我在项目里见过太多人,传感器驱动写好了,串口死活调不通,最后发现是波特率配错了——这种坑,咱们提前踩一遍,以后就不会再犯了。
1.2 硬件清单:你得准备这些
硬件不多,四样东西就够了。我列个表,你照着买就行,别贪多。
| 硬件名称 | 型号/规格 | 数量 | 备注 |
|---|---|---|---|
| 主控板 | STM32F103C8T6(蓝色小板) | 1块 | 淘宝上十几块钱,别买太便宜的,容易虚焊 |
| USB转TTL模块 | CH340G 或 CP2102 | 1个 | 用来跟电脑通信,买带DTR/RTS的 |
| 电位器 | 10kΩ 可调电阻 | 1个 | 模拟电压输入,ADC实验用 |
| 温湿度传感器 | DHT11 | 1个 | 便宜、经典、单总线通信 |
1.3 软件安装:三件套必须配齐
软件方面,咱们需要装三个工具。顺序别搞反,先装Keil,再装CubeMX,最后装串口助手。
1.3.1 Keil MDK-ARM
这是咱们写代码的主力工具。STM32的代码编译、调试都靠它。
- 版本建议:MDK 5.38 或更高版本
- 安装要点:路径不要有中文,不要有空格
- 破解:这个我就不多说了,你懂的
- 器件包:安装完后记得装STM32F1系列的DFP包
1.3.2 STM32CubeMX
这个工具是用来生成初始化代码的。以前我们写STM32,GPIO配置要翻手册查寄存器,现在用CubeMX点几下鼠标就搞定了。
- 版本建议:6.10 或更高
- 安装前提:需要Java运行环境(JRE),装的时候会自动提示
- 固件包:第一次打开时,记得下载STM32F1的HAL库固件包
我个人习惯是,先用CubeMX配好外设,生成工程,然后在Keil里写业务逻辑。这样既快又不容易漏配置。你想想看,要是手动配时钟树,配错一个分频系数,整个系统就跑不起来——CubeMX能帮你避免这种低级错误。
1.3.3 串口助手
调试利器。单片机发出来的数据,全靠它来收。
- 推荐工具:SSCOM(丁丁串口助手)或 XCOM
- 关键设置:波特率、数据位、停止位、校验位——这四个参数必须跟单片机一致
- 小技巧:勾选“HEX显示”和“时间戳”,方便分析数据
避坑指南:我曾经带过一个项目,学生调了三天串口,数据就是收不到。最后发现他用的串口助手是盗版精简版,压根不支持115200波特率。所以啊,工具别用太冷门的,SSCOM和XCOM都是经过验证的。
1.4 知识体系总览:一张图看懂
下面这张图,把咱们这门课的核心知识结构画出来了。你先把整体框架记住,后面每章都是往这个框架里填细节。
从图上你能看到,咱们这门课就三条主线:ADC采样、传感器驱动、串口通信。这三条线最终汇合到“数据上传”这个终点。说白了,就是让单片机把采集到的数据,通过串口告诉电脑。
1.5 开发环境验证:装好了怎么确认?
软件装完别急着关。我教你一个快速验证的方法:
- 打开Keil,新建一个空工程,选STM32F103C8
- 写一个空的main函数,编译——如果不报错,说明Keil和器件包都装对了
- 打开CubeMX,新建工程,选同样的芯片——能正常打开图形化配置界面,说明CubeMX没问题
- 打开串口助手,插上USB转TTL模块——设备管理器里能看到COM口,说明驱动装好了
一个小经验:很多人装完Keil发现编译按钮是灰色的,那是因为没装器件包。去Keil官网下载“STM32F1xx_DFP”包,双击安装就行。这个坑我踩过,所以特意提醒你。
1.6 本章小结
这一章咱们把课程目标、硬件清单、软件安装都捋了一遍。东西不多,但都是基础。你想想看,要是硬件买错了型号,或者软件版本不兼容,后面30章的内容全白搭——所以别嫌我啰嗦,这一步走稳了,后面才跑得快。