一、前言

本路线专为:

  • 想做线路式软件开发、嵌入式开发、单片机开发、物联网开发的人
  • 零基础、没硬件基础、没写过代码
  • 目标:3 个月能做项目、能写简历、能找到工作

学习要求:

  • 每天 1.5~3 小时
  • 每周坚持 5~6 天
  • 多动手、少看视频、多写代码
  • 做完所有实验和项目

二、学习总目标

  1. 掌握嵌入式 C 语言
  2. 掌握 STM32 所有常用外设
  3. 会用 FreeRTOS 操作系统
  4. 独立完成 2 个完整项目
  5. 达到企业初级嵌入式开发要求
  6. 能应对 80% 嵌入式岗位面试

三、必备硬件(最低配置)

  • 开发板:STM32F103C8T6 最小系统板
  • 下载器:ST-LINK V2
  • 杜邦线、LED、按键、OLED 屏、USB 线
  • 传感器:DHT11、光敏、MPU6050(后期用)

不用买贵的,F103 足够入门找工作。


四、必备软件

  • Keil MDK5
  • STM32CubeMX
  • 串口调试助手
  • VS Code

五、知识体系(企业必考)

  1. C 语言(指针、结构体、内存、函数)
  2. STM32 内核与时钟
  3. GPIO、中断、定时器、PWM
  4. 串口 USART、SPI、I2C
  5. ADC、DMA
  6. FreeRTOS 实时操作系统
  7. 传感器驱动
  8. 项目实战与调试

六、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

  • 查漏补缺
  • 项目代码最后优化
  • 开始投简历

八、学习规则(必看)

  1. 只看必要视频,多写代码
  2. 每个实验必须自己敲一遍
  3. 代码每天备份,不要丢
  4. 遇到问题先查资料,再问人
  5. 不跳章节、不跳任务

九、学完能找的工作

  • 嵌入式软件工程师
  • 单片机开发工程师
  • 物联网开发工程师
  • 电机控制工程师
  • 工业控制开发
  • 消费电子固件开发

十、薪资参考(2026)

  • 应届生:9.5k–17.5k
  • 1–3 年:15k–25k
  • 3–5 年:25k–40k

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐