Skip to main content

如何避免循环依赖

· 4 min read
Eureka X
Mr.Nobody

嵌入式 C 开发中的头文件循环依赖

在嵌入式软件开发中,随着模块增多,头文件之间的依赖关系逐渐复杂。一个常见却容易被忽视的问题是 头文件循环依赖(Circular Dependency) —— 它不仅导致编译失败,更暴露了架构设计的缺陷。本文将深入剖析其成因,并提供一套可落地的最佳实践方案。

加载评论中...

技术速记卡

· 12 min read
Eureka X
Mr.Nobody

💡 本页用于存放 极简技术记录:每个条目仅用 1–3 行说明问题现象、根因与解法,不求完整,但求可检索、可复用。
目标:未来遇到同类问题时,30 秒内唤醒记忆。

加载评论中...

从记录焦虑到认知加速:我的技术博客方法论转变

· 3 min read
Eureka X
Mr.Nobody

记录的焦虑与困惑

最近一段时间,我对“是否该写技术博客”充满矛盾:
一方面,我习惯于记录在开发中遇到的坑、新概念和调试技巧;
另一方面,我又不断怀疑——这些内容网上一搜就有,AI 也能生成,我花大量时间整理,是不是在做无用功?

这种犹豫让我陷入“学两天,整理三四天”的低效循环,尤其在求职压力下,更觉焦虑。

直到最近一次深度反思,我才意识到:问题不在于“要不要记”,而在于“怎么记才高效”

加载评论中...

在嵌入式系统中,该用 assert 还是错误码?

· 7 min read
Eureka X
Mr.Nobody

一个 assert 导致现场设备死机?

在学习环形缓冲区实现时,我看到很多教程(包括权威资料)用 assert 校验参数,理由很理想化:“避免代码中充斥条件判断,用 Design by Contract(契约式设计)明确 API 使用前提。”

这听起来很美——如果调用者永远不犯错,程序就能保持简洁高效 ✨。

加载评论中...

环形缓冲区实现

· 14 min read
Eureka X
Mr.Nobody

适用于嵌入式开发的环形缓冲区

本文剖析两种经过验证的 C 语言环形缓冲区实现:基于 full 标志位的 flag 版本 与牺牲一个 slot 的 slot 版本,并给出明确的选型指南。

加载评论中...

AT 指令通信

· 2 min read
Eureka X
Mr.Nobody

问题与心得记录 🛠️

在嵌入式开发中使用 AT 指令与 ESP8266 等模块通信时,看似简单的串口交互背后其实暗藏玄机 ⚠️——
从响应解析、超时处理到主线程阻塞,稍有不慎就会导致 UI 卡死逻辑错乱,甚至 连接雪崩 😅。

本文不追求全面介绍 AT 指令集(那有官方手册就够了 ✅),而是聚焦于 真实项目中踩过的坑行之有效的应对策略

我会不定期更新在使用 AT指令 进行通信时遇到的问题及其对应的思考与解决方法 🚀。

加载评论中...

博客缓冲区

· One min read
Eureka X
Mr.Nobody

为什么会有这篇博客?🤔

在学习嵌入式开发的过程中,我时常遇到一些值得记录的知识点——或许是一个巧妙的代码技巧,一次有效的调试方法,或是某个开发工具的实用配置。虽然它们未必足以立刻写成一篇完整的博客,但若不及时记下,又怕日后遗忘。

然而,我无法每次一有灵感就停下手中工作去撰写详尽文章——那样反而会拖慢主线任务的进度。

于是,我创建了这个“博客缓冲区”:一个临时存放零散思考与实践心得的地方。它内容庞杂、主题不拘,堪称技术笔记的“大杂烩”。
未来若有时间,我会将其中有价值的内容提炼、扩展为独立成篇的正式博客。
理想状态下,这个缓冲区应当始终保持轻量,甚至空无一物。

加载评论中...