STM32 嵌入式软件开发 3 个月就业学习手册
本文提供了一份零基础入门嵌入式开发的3个月学习路线,包含硬件配置、软件工具、知识体系和详细学习计划。路线分为三个阶段:第1个月学习C语言和STM32基础;第2个月进阶学习RTOS和传感器驱动;第3个月完成两个实战项目并准备求职。要求每天学习1.5-3小时,强调多动手写代码,完成所有实验项目。学成后可胜任嵌入式软件工程师等岗位,应届生薪资可达9.5k-17.5k。学习需遵守规则:只看必要视频、每日备
一、前言
本路线专为:
- 想做线路式软件开发、嵌入式开发、单片机开发、物联网开发的人
- 零基础、没硬件基础、没写过代码
- 目标:3 个月能做项目、能写简历、能找到工作
学习要求:
- 每天 1.5~3 小时
- 每周坚持 5~6 天
- 多动手、少看视频、多写代码
- 做完所有实验和项目
二、学习总目标
- 掌握嵌入式 C 语言
- 掌握 STM32 所有常用外设
- 会用 FreeRTOS 操作系统
- 独立完成 2 个完整项目
- 达到企业初级嵌入式开发要求
- 能应对 80% 嵌入式岗位面试
三、必备硬件(最低配置)
- 开发板:STM32F103C8T6 最小系统板
- 下载器:ST-LINK V2
- 杜邦线、LED、按键、OLED 屏、USB 线
- 传感器:DHT11、光敏、MPU6050(后期用)
不用买贵的,F103 足够入门找工作。
四、必备软件
- Keil MDK5
- STM32CubeMX
- 串口调试助手
- VS Code
五、知识体系(企业必考)
- C 语言(指针、结构体、内存、函数)
- STM32 内核与时钟
- GPIO、中断、定时器、PWM
- 串口 USART、SPI、I2C
- ADC、DMA
- FreeRTOS 实时操作系统
- 传感器驱动
- 项目实战与调试
六、12 周学习路线(总览)
第 1 个月:C 语言 + STM32 基础
第 1 周:C 语言嵌入式重点第 2 周:环境搭建 + LED / 按键第 3 周:中断、定时器、PWM第 4 周:串口、SPI、I2C、OLED
第 2 个月:进阶 + RTOS
第 5 周:ADC、传感器第 6 周:DMA、高级定时器第 7 周:FreeRTOS 任务、队列、信号量第 8 周:驱动实战(存储、陀螺仪)
第 3 个月:项目 + 求职
第 9–10 周:项目 1 — 环境监测站第 11 周:项目 2 — 电机小车第 12 周:简历、面试、刷题、GitHub
七、每日详细任务表(严格照做)
第 1 个月:基础夯实
第 1 周:C 语言(嵌入式必考)
Day 1
- 安装 VS Code
- 变量、数据类型、输入输出
- 作业:写 3 个计算小程序
Day 2
- if、switch、for、while
- 作业:循环打印、猜数字小游戏
Day 3
- 数组、字符串
- 作业:字符串处理、数组求和
Day 4
- 函数、值传递、地址传递
- 作业:写多个函数调用程序
Day 5
- 指针(重中之重)
- 作业:指针修改变量、指针遍历数组
Day 6
- 结构体、枚举、typedef
- 作业:定义学生结构体,赋值打印
Day 7
- 复习本周所有内容
- 完成 1 个综合小作业:成绩管理程序
第 2 周:环境 + LED / 按键
Day 8
- 安装 Keil + STM32CubeMX
- 认识开发板、ST-Link
Day 9
- 新建工程、编译、下载
- 第一个程序:点亮 LED
Day 10
- LED 闪烁、延时函数
- 作业:3 个 LED 轮流闪烁
Day 11
- GPIO 输入模式
- 按键控制灯亮灭
Day 12
- 按键消抖原理与代码实现
- 作业:按键单击、双击控制灯
Day 13
- 复习:GPIO 输出 / 输入
- 综合:按键控制多种灯效
Day 14
- 周总结,代码整理备份
第 3 周:中断、定时器、PWM
Day 15
- 中断原理
- 外部中断配置
- 按键中断控制灯
Day 16
- 中断优先级
- 作业:多按键中断
Day 17
- 定时器基本原理
- 定时中断实现闪烁
Day 18
- PWM 原理
- PWM 控制 LED 亮度
Day 19
- 呼吸灯程序
- 作业:可调亮度呼吸灯
Day 20
- 综合:按键 + PWM + 定时器
Day 21
- 本周代码整理、复习
第 4 周:串口、SPI、I2C、OLED
Day 22
- USART 串口
- 串口发送数据
Day 23
- 串口中断接收
- 串口指令控制灯
Day 24
- SPI 原理
- OLED 屏初始化
Day 25
- OLED 显示字符、数字
Day 26
- I2C 基本原理
- I2C 读写时序
Day 27
- 综合:串口 + OLED 显示数据
Day 28
- 第 1 个月总结
- 代码全部备份
第 2 个月:进阶 + RTOS
第 5 周:ADC、传感器
Day 29
- ADC 原理
- 电压采集
Day 30
- 光敏电阻采集
Day 31
- 数据平滑滤波
Day 32
- DHT11 温湿度驱动
Day 33
- 温湿度显示到 OLED
Day 34
- 综合:环境数据采集
Day 35
- 本周复习
第 6 周:DMA、高级定时器
Day 36
- DMA 原理
- 串口 DMA 发送
Day 37
- DMA 接收
- 大量数据搬运
Day 38
- 编码器接口
- 电机测速原理
Day 39
- 输入捕获
- 测频率、测占空比
Day 40
- 综合:测速 + 显示
Day 41
- 代码调试练习
Day 42
- 半月总结
第 7 周:FreeRTOS(核心加分)
Day 43
- RTOS 概念
- 创建任务
Day 44
- 任务调度、优先级
Day 45
- 信号量、二值信号量
Day 46
- 消息队列
Day 47
- 多任务综合:按键、灯、串口、OLED
Day 48
- 互斥锁、临界区
Day 49
- RTOS 项目框架搭建
第 8 周:驱动实战
Day 50
- AT24C02 存储
- 读写数据掉电保存
Day 51
- MPU6050 初始化
- 读取加速度
Day 52
- 读取陀螺仪
- 简单姿态解算
Day 53
- 传感器数据滤波
Day 54
- 综合:多传感器采集
Day 55
- 代码优化、注释规范
Day 56
- 第 2 个月总结
第 3 个月:项目 + 求职
第 9–10 周:项目 1 — 智能环境监测站
Day 57–60
- 需求:温湿度、光照、OLED、串口、报警
- 模块逐一调试
- RTOS 任务划分
Day 61–63
- 联调
- 异常处理
- 代码规范、注释完善
Day 64
- 项目演示、录屏、拍照
- 写项目说明文档
第 11 周:项目 2 — 电机小车
Day 65
- 电机驱动原理
- GPIO 控制正反转
Day 66
- PWM 调速
- 电机缓启动
Day 67
- 编码器测速
- 速度闭环
Day 68
- 按键控制运动
Day 69
- 综合调试
Day 70
- 项目完成、演示、整理代码
第 12 周:求职冲刺
Day 71
- 写简历:突出项目、技术栈
- 上传 GitHub
Day 72
- 嵌入式高频面试题背诵
- C 语言指针、内存题
Day 73
- STM32 面试题:中断、时钟、串口
Day 74
- RTOS 面试题:任务、队列、信号量
Day 75
- 模拟面试
- 自我介绍练习
Day 76–77
- 查漏补缺
- 项目代码最后优化
- 开始投简历
八、学习规则(必看)
- 只看必要视频,多写代码
- 每个实验必须自己敲一遍
- 代码每天备份,不要丢
- 遇到问题先查资料,再问人
- 不跳章节、不跳任务
九、学完能找的工作
- 嵌入式软件工程师
- 单片机开发工程师
- 物联网开发工程师
- 电机控制工程师
- 工业控制开发
- 消费电子固件开发
十、薪资参考(2026)
- 应届生:9.5k–17.5k
- 1–3 年:15k–25k
- 3–5 年:25k–40k
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐
所有评论(0)