1460 字
7 分钟
停学一年,重新启程:我的嵌入式学习之路

背景#

一年前,我在学习一个嵌入式课程的 WiFi 报警主机项目。项目进行到一半,因为研究生生活和家庭生活心力交织的原因,不得不停了下来。这一停就是整整一年。

最近,我决定重新启程,把这个项目完成。

当时的进度#

回顾一年前的学习记录,我已经完成了:

✅ 已完成模块(约43%)#

  1. 基础框架

    • STM32F103C8 环境搭建
    • 协作式(时间片轮询?) RTOS 移植
    • HAL 层驱动开发
  2. 核心功能

    • 6 按键输入(支持短按、长按)
    • OLED 显示系统
    • EEPROM 数据存储
    • RF 无线接收(433MHz)
  3. GUI 系统

    • 桌面界面
    • 设置菜单导航
    • 传感器配对功能

🔲 待完成功能#

  • 传感器列表显示
  • 传感器编辑/删除
  • 主机防御模式
  • 报警系统
  • WiFi 配网
  • APP 远程控制

重新开始#

遇到的第一个问题#

打开尘封一年的项目,第一件事就是查看代码。我使用 VSCode + Keil Assistant 插件进行开发,但遇到了一个让人头疼的问题:

现象:头文件明明存在,编译通过,但 VSCode 显示波浪线错误,无法跳转到定义。

影响:代码编写体验很差,效率低下。

解决过程#

经过分析,我发现了问题所在:

  1. 根本原因:VSCode 的 IntelliSense 配置不正确

    • include path 指向错误
    • 缺少必要的宏定义(STM32F10X_MD)
    • Keil Assistant 插件生成了冲突的配置
  2. 解决方案

    • 配置 .vscode/c_cpp_properties.json
    • 添加正确的 include paths
    • 添加编译器宏定义
    • 手动选择正确的配置
  3. 心得

    IntelliSense 配置是现代 C/C++ 开发的标准流程, 不是可有可无的选项。配置好之后,开发体验提升巨大。

这段经历让我意识到,环境配置是开发的第一步,不应该被忽视。

智能体辅助学习系统#

在准备继续学习时,我做了一件重要的事情:为项目创建了智能体辅助学习系统

为什么需要智能体?#

我停学一年的原因之一是:遇到问题时没有人讨论,卡住时容易放弃

现在有了 AI 助手,情况完全不同了。

智能体系统的组成#

我为项目创建了以下几个文件:

1. CLAUDE.md - 项目架构文档#

详细记录了:

  • 代码结构(APP → OS → HAL → SPL)
  • RTOS 工作原理
  • GUI 系统设计
  • 重要文件说明

作用:帮助智能体理解项目架构,给出准确的建议。

2. LEARNING_PROGRESS.md - 学习进度跟踪#

记录了:

  • 8 大功能模块的完成情况
  • 当前位置和下一步任务
  • 知识点掌握情况

作用:可视化学习进度,保持学习动力。

3. .cursorrules - 智能体行为规则#

定义了:

  • 代码审查标准
  • 讲解方式
  • 学习策略

作用:确保智能体给出适合我的回答。

4. TASKS/ 目录 - 任务指南#

为每个待实现功能创建详细指南:

  • 功能需求
  • 实现思路
  • 参考代码
  • 注意事项

作用:分解复杂任务,降低难度。

智能体能帮我做什么?#

代码审查#

// 我:帮我检查这段代码
// 智能体:发现3个问题...

原理讲解#

// 我:OS_ClockInterruptHandle 函数是怎么工作的?
// 智能体:[详细解释 + 代码示例]

任务规划#

// 我:传感器列表功能应该怎么实现?
// 智能体:[分步骤指导 + 参考代码]

学习建议#

// 我:卡住了,不知道下一步怎么办
// 智能体:[分析当前状态,建议学习路径]

学习策略的改进#

对比一年前和现在,我的学习方式有了很大变化:

❌ 一年前的学习方式#

看视频 → 跟着敲代码 → 遇到问题 → 查资料 → 卡住 → 放弃

问题

  • 被动接收,缺乏思考
  • 遇到问题孤立无援
  • 理解不深入,容易遗忘

✅ 现在的学习方式#

理解需求 → 自己尝试 → 遇到问题问智能体 → 深入理解 → 写博客总结

优势

  • 主动学习,加深理解
  • 实时解答,不卡顿
  • 输出倒逼输入,巩固知识

接下来的计划#

短期目标(1个月)#

完成传感器管理模块:

  1. ✅ 传感器列表显示 ← 当前任务
  2. 传感器详情查看
  3. 传感器编辑
  4. 传感器删除

中期目标(3个月)#

完成剩余功能:

  • 防御模式系统
  • 报警功能
  • WiFi 集成
  • APP 控制

长期目标#

  • 系统总结整个项目
  • 整理成完整教程
  • 分享到博客和 GitHub

心得体会#

1. 学习需要记录#

这次重新开始,我最庆幸的是一年前留下了详细的 git 提交记录。通过查看提交历史,我能快速回忆起当时的思路。

建议:学好 git,养成频繁提交的习惯。

2. 环境很重要#

好的开发环境能大幅提升效率。花时间配置工具是值得的。

建议:配置好 IntelliSense,使用智能体辅助。

3. 输出倒逼输入#

准备写博客,让我在写代码时更加认真思考。

建议:尝试写技术博客,分享你的学习过程。

4. 不要害怕暂停#

暂停一年,不代表失败。重要的是重新开始。

建议:不管多久,只要愿意重新开始,就不晚。

结语#

如果你也在学习嵌入式开发,或者学习其他技术,希望我的经历能给你一些启发:

  • 遇到问题不要怕,智能体可以帮你
  • 搭建学习系统,让学习更高效
  • 记录学习过程,写技术博客
  • 停学了没关系,重新开始就好

重新启程,继续加油! 💪


停学一年,重新启程:我的嵌入式学习之路
https://magical857.github.io/posts/firstnotlast1/
作者
Wenry6
发布于
2026-02-24
最后更新于
2026-02-24
许可协议
CC BY-NC-SA 4.0