- 博客(75)
- 资源 (16)
- 收藏
- 关注

原创 《别让 AI 帮你写废了代码》✅程序员 + AI 的高效协作指南
我们不反对用 AI 编程,相反,我们鼓励程序员用好它。但前提是你要理解:AI 不是工程师,是你的助手项目的质量,始终由程序员负责你负责架构和判断,AI 负责执行和加速这个系列,是我们作为一线开发者的真实思考和实践总结。希望它能帮助更多人避免被 AI 误导,真正成为 AI 的掌舵者。
2025-04-12 23:35:08
739

原创 STM32 模块化开发实战指南:系列介绍
本文是《STM32 模块化开发实战指南》系列的导读篇,旨在介绍整个系列的写作目的、适用读者、技术路径和每一篇的主题规划。适合从事 STM32、裸机或 RTOS 嵌入式开发的个人开发者、初创工程师或企业项目团队。
2025-04-11 21:25:24
974

原创 单片机实现多线程的方法汇总
本文将系统性地介绍 单片机中实现“伪多线程”或多任务并发的 5 种主流方式,从最轻量的状态机轮询,到真正的 RTOS,再到软调度器和协程,每种都配有代码示例和优缺点分析。
2025-04-05 22:58:45
1836
12
原创 一文看懂 OBD 产品的发展、应用与趋势
本文将带你系统了解 OBD 产品的前世今生,包括技术演进、典型场景、产品研发流程以及未来趋势。适合从事车载、物联网、汽车电子相关开发与管理人员阅读。
2025-04-14 23:12:08
550
原创 适应 AI 时代的软件开发流程:用 AI + TDD 构建可维护项目
本文面向有系统开发经验的工程师,分享如何结合 Git 管理、AI 协作、YAML 驱动与 TDD 开发方式,高效构建一个**可维护、可协作、可交付的嵌入式或通用工程项目**。适合 BLE 模块、协议栈组件、物联网控制系统等项目落地。
2025-04-14 09:34:19
947
原创 [特殊字符] YAML + AI:写给未来开发者的接口语言
YAML 是 AI 非常喜欢的一种输入格式,因为它结构明确 + 自然语言注释丰富,非常适合用来“告诉 AI 你想要什么”。
2025-04-14 08:59:47
440
原创 第 7 章✅ 从 MVP 到 TDD:让 AI 和测试一起把系统一点点写完整
这一章是把前面几章实践串联起来的关键一步,开始真正让系统“从能跑 → 到可维护”。在MVP基础上,边测试,边开发,一起把代码结构“养出来”。
2025-04-13 14:05:56
636
原创 第 6 章✅ 写完就部署:用 AI 帮你生成一键部署和自动运行流程
这篇聚焦于用 AI 快速搭建部署流程,为后续的 TDD 开发与持续迭代打下基础,让你从“能跑起来”进入“随时能重跑、能验证”。
2025-04-13 14:00:01
733
原创 第 5 章✅ 对 AI 不放心?我们先来写测试:用魔法打败魔法
你可以不信 AI,所以你必须要测试。用AI写的测试验证AI写的代码,用魔法打败魔法!
2025-04-13 11:37:39
736
原创 第 4 章✅ 用 AI 快速搭好 MVP 骨架,让项目跑起来再说
与其一开始追求完美结构,不如让 AI 帮你先把项目“跑起来”。结构不完美没关系,先跑起来你才能快速试错、不断生长
2025-04-13 11:25:08
584
原创 第 1 篇✅ 用 AI 编程之前,你得先搞清楚你和 AI 是啥关系
“你不能把 AI 当兄弟,它理解不了你的眼神;也别把它当战友,它不会替你挡枪。”
2025-04-13 00:08:18
929
原创 GDG谷歌开发者社区介绍
Google Developer Groups(GDG,谷歌开发者社区)是由谷歌支持的全球性开发者社区网络,旨在为开发者和技术爱好者提供一个学习、分享和协作的平台。自2009年成立以来,GDG已在全球130多个国家建立了1000多个分会,每年举办超过7000场活动,覆盖超过50万名开发者。
2025-04-12 08:17:22
650
原创 2025年4月12日 Build with AI 2025 西安站报名
Build with AI 是由 Google 开发者社区(GDG)主导的全球性技术活动,旨在通过实践赋能开发者掌握生成式 AI 技术,探索谷歌最新模型工具(如 Gemini、Gemma 模型、Vertex AI、AI Studio 等)在跨行业的创新应用。
2025-04-12 07:53:26
739
原创 STM32 模块化开发指南 · 最终篇打造你的通用 STM32 模块化项目模板(附 GitHub 项目结构设计)
通过本模板项目,你可以快速搭建一个可复用、可维护、可扩展的 STM32 项目框架,并支持测试、平台适配、状态管理与模块解耦。📌 本系列文档全部完结,感谢阅读和支持!如你希望我将模板完整发布到 GitHub 并维护开源仓库,请留言或私信反馈。
2025-04-11 21:41:51
267
原创 STM32 模块化开发指南 · 第 7 篇让 STM32 项目支持多平台复用的技巧(裸机 / RTOS / PC 模拟)
本文是《STM32 模块化开发实战指南》第 7 篇,聚焦于模块可移植性设计。我们将探讨如何让同一个模块在裸机、RTOS、甚至 PC 模拟环境下无缝运行,并结合 Makefile 条件编译、平台抽象接口、Mock 替换策略等方法,提升项目的重用性和适配能力。
2025-04-11 21:40:39
564
原创 STM32 模块化开发指南 · 第 6 篇 如何为 STM32 裸机项目写测试代码?构建自己的 tests/ 框架
本文是《STM32 模块化开发实战指南》第 6 篇,专注于“裸机项目的单元测试设计”。我们将从为什么 STM32 项目也需要测试出发,设计一个简洁的 tests/ 结构和测试驱动模型,并结合前文模块(如 RingBuffer、UART)示例演示如何验证模块正确性,提升项目质量。
2025-04-11 21:39:14
1023
原创 STM32 模块化开发指南 · 第 5 篇 STM32 项目中断处理机制最佳实践:ISR、回调与事件通知
本文是《STM32 模块化开发实战指南》第 5 篇,聚焦于 STM32 裸机开发中最核心也最容易被忽视的部分——中断服务机制。我们将介绍如何正确、高效地设计中断处理函数(ISR),实现数据与事件从中断上下文传递到主逻辑的通道,并构建一个清晰、可维护、非阻塞的事件通知机制。
2025-04-11 21:37:31
843
原创 STM32 模块化开发指南 · 第 4 篇 用状态机管理 BLE 应用逻辑:分层解耦的实践方式
endif通过本篇内容,你学会了如何将 BLE 模块的运行逻辑抽象为有限状态机管理,并结合事件队列实现状态驱动。它不仅让逻辑更清晰、代码更可靠,也为扩展连接管理、功耗控制、主从共存等复杂功能打下良好基础。📌 下一篇我们将聚焦于“中断驱动与事件分发机制”,如何搭建可靠的 ISR → 应用逻辑通知体系,实现非阻塞、解耦的高效事件流。
2025-04-11 21:31:22
1057
原创 STM32 模块化开发指南 · 第 3 篇 环形缓冲区 RingBuffer 模块设计与单元测试
endifRingBuffer 是 STM32 项目中最基础也最通用的一个功能模块。它的好坏会直接影响串口、BLE、通信协议、甚至主任务调度的性能。在后续章节中,我们将继续围绕模块架构构建协议处理、AT 系统、状态机框架等更高级内容。
2025-04-11 21:29:57
664
原创 STM32 模块化开发指南 · 第 2 篇 如何编写高复用的外设驱动模块(以 UART 为例)
/ 非阻塞读// 中断入口#endif:初始化串口:阻塞发送一个字节:从环形缓冲区中读取一个字节,若无数据返回 -1:在中断服务函数中调用,用于处理接收逻辑通过本篇内容,你学会了如何从零设计一个结构清晰、接口友好、非阻塞收发、可中断驱动的 UART 驱动模块,作为后续所有通信模块(BLE、AT、协议栈等)的基础。下一篇我们将聚焦 RingBuffer 模块,深入讲解其结构设计、边界处理和测试策略。完整源码结构和每篇文章链接将在专栏持续更新。
2025-04-11 21:18:56
467
原创 STM32 模块化开发指南 · 第 1 篇 写 STM32 项目时,如何组织代码结构?从裸机到模块化的进阶之路
职责清晰:每个模块只做一件事,出错范围可控;接口明确:函数暴露即接口,模块之间可独立测试与替换;复用性强:像 UART、RingBuffer 等可跨多个项目使用;可维护性好:逻辑解耦,不影响其他模块,便于多人协作;可扩展性强:添加新功能只需扩展app/层或层即可。✅ 如果你写的main.c已超过 500 行,就该尝试用本文方法对项目做一次架构重构。
2025-04-11 21:15:07
613
原创 架构总览怎么写,才算工业级?
系统架构文档是整个项目最重要的起点,但很多人第一章就“写穿了”: 不是写得太细,就是没有重点。想要写出高质量、能协作、能传承的架构文档,这一篇会告诉你应该怎么做——
2025-04-10 10:00:19
414
原创 [特殊字符] 分而治之:指导信条
🔽 纵向细分:大事 → 阶段 → 小目标。🌟 找关键,优先解决最核心问题。⚠️ 不陷入细枝末节,保持聚焦。🔨 一次专注一个点,推进节奏感。🔄 多练多拆,结构化思维成习惯。🎯 搞清楚真正要解决的是什么。↔️ 横向分工:按功能拆模块。♻️ 抽象共性,统一复用。📌 设定边界,防止跑偏。🍀 先易后难,积累信心。📅 阶段回顾,及时修正。🔧 动态调整,响应变化。🧠 模块集成为完整方案。🎯 始终盯住核心目标。🔗 局部验证不冲突。
2025-04-10 02:07:35
205
原创 [特殊字符] 分而治之使用指南:从混沌到清晰的实战策略
确定问题范围与限制条件,防止跑偏。📍小贴士试着用一句话总结问题核心。用时间、功能、资源三个角度来辅助界定边界。凡事皆可拆分,一切可控始于结构化。🎯 保持全局观与执行力的平衡,是应对复杂任务的关键。📆 日常多练、多拆、多总结,养成结构化思维的肌肉记忆!
2025-04-10 01:55:37
350
原创 BLE 模块中的低功耗设计策略
BLE 模块的低功耗优化必须以事件为核心、以状态为驱动,避免“功能独立、省一点电”而引起系统协同失效。事件触发 → 状态评估 → 进入或退出低功耗 → 唤醒后恢复上下文 → 回归等待如需深入了解,欢迎留言或私信讨论。
2025-04-10 00:36:20
882
原创 从零实现嵌入式事件驱动调度器
/ ...更多事件类型void *data;// 数据指针,需在模块内部定义结构// 可选,用于区分多个 UART/BLE 实例} event_t;type:标识事件类型(用于分发)data:事件附带数据指针,便于模块自定义source_id:支持多实例(如多路 UART)时使用为避免动态分配,推荐data指向全局结构或静态缓冲池中的数据。一个从零构建的事件调度器,应具备如下特性:模块化事件结构零动态内存,稳定可靠中断快速转发,主循环统一调度可平滑迁移至 RTOS 系统。
2025-04-10 00:25:26
247
原创 嵌入式系统中如何构建事件响应架构
事件响应架构(Event-Driven Architecture,EDA)是一种以“事件”为驱动的系统运行方式。外设中断(如串口接收完成、定时器中断)协议栈回调(如 BLE 连接事件)说明:串口接收、定时器超时、通过 UART 接收控制命令等,底层均通过 MCU 的中断机制触发,统一归为外设中断类事件。事件架构的目标是将这些来源统一管理,解耦各功能模块,实现异步调度、模块隔离、流程清晰。事件响应架构是构建高质量嵌入式系统的基础。只要你具备:明确的事件类型分类稳定的事件队列系统解耦的分发处理逻辑。
2025-04-09 23:38:34
343
原创 BLE 协议栈事件驱动机制详解
BLE 协议栈的事件驱动机制是稳定系统的基础设施,需严格遵循“协议栈事件驱动 → 解耦处理 → FSM 控制状态 → URC 输出反馈”四阶段流程。✅ 所有事件均来源于协议栈✅ 所有状态由 FSM 模块统一切换✅ 事件处理逻辑应模块解耦✅ 串口输出通过 URC 队列实现异步反馈下一篇推荐:《嵌入式系统中如何构建事件响应架构》,将进一步介绍在 MCU 系统中如何统一管理 UART、BLE、定时器等多源异步事件。如果你有BLE相关问题,欢迎评论区讨论。
2025-04-09 23:23:28
860
原创 BLE 状态机设计思路
BLE 状态机设计是 BLE 系统的“大脑”,良好的 FSM 架构能提升代码稳定性、扩展性和可读性。在 BlueNRG-LP 系统中,推荐围绕状态/事件双结构建模,通过仅依赖协议栈事件驱动的 FSM实现模块化、解耦化、低功耗运行。下一篇推荐:《BLE 协议栈事件驱动机制详解》,将更深入探讨事件解析和分发技巧。有关BLE相关内容,欢迎评论区探讨。
2025-04-09 23:12:39
693
原创 BlueNRG-LP v3.x 协议栈主要事件列表与含义解析
掌握这些核心事件,有助于你快速开发稳定可靠的 BLE 应用系统。建议结合 AT 命令系统、URC 通知机制以及状态机进行事件响应处理,构建清晰、可控的架构。如需进一步了解 FSM 架构设计、事件队列管理与 BLE API 调用,可参考以下推荐文章:《BlueNRG-LP BLE 状态机设计思路》《BLE 协议栈事件驱动机制详解》《嵌入式系统中如何构建事件响应架构》
2025-04-08 18:09:51
309
原创 【实践总结】如何编写“多角色适配”的高质量技术文档?
一份“想包打天下”的文档,往往难以满足任何一个目标。高质量的文档不是更复杂,而是更清晰、更聚焦。通过“分层结构 + 内容解耦”的方式,技术文档可以真正做到:快速入门易于维护高效协作精准沟通📎立即行动:给你的项目文档做一次结构重构!如果你需要模板、示例或写作插件推荐,也可以留言,我来继续分享 🙌。
2025-04-07 23:17:15
296
原创 写技术文档,不只是填模板 —— 从共情视角做有用的系统设计文档
📌 从“写给谁、解决什么问题”出发,而不是“我有啥内容就写啥”。很多“为了写而写”的文档,看起来内容齐全,实际上无用信息一堆。而共情式文档是一种“以用户为中心”的技术表达方式,它关注的是:谁会看这份文档?他/她在什么场景下会来看?他/她最需要什么内容?我们不是写作者,但我们是“系统的设计者”。
2025-04-07 23:09:49
662
原创 示例项目文档模板集:TaskBoard 任务管理系统
TaskBoardTaskBoard 是一款专为敏捷团队打造的任务管理系统,支持任务分配、状态追踪与协作沟通,帮助团队高效协作与执行。int id;int role;方法路径描述POST注册新用户POST/api/login登录获取TokenGET/api/me获取用户信息通过划分为:系统概览(面向所有人)开发文档(面向开发)交接文档(面向新人)汇报材料(面向管理者)我们可以做到:内容聚焦目标群体结构统一,便于维护图文结合,提升阅读体验。
2025-04-07 19:57:52
782
原创 一份文档搞定四种用途?系统设计文档如何兼顾“全能型”目标
设计文档是软件工程中的核心资产。我们不应再尝试用一份文档“包打天下”,而应根据用途拆分结构,通过分层管理与内容协同,真正实现高效协作、快速理解、持续交付。📖 一份优秀的设计文档,不是面面俱到,而是目标清晰、对象精准、结构合理。
2025-04-07 19:50:52
337
1
原创 Ubuntu 下搭建 MCU 开发环境全流程指南(以 STM32 为例)
在 Ubuntu 下进行 MCU 开发,其实并不复杂,搭建好工具链后,你将拥有一个:💡 更自由灵活的开发环境🚀 更高效的构建与烧录流程🔍 更强大的调试能力与定制潜力编辑 → 编译 → 烧录/调试,即可完成从代码到芯片的闭环开发。我将持续输出更多Linux 嵌入式开发实战经验,欢迎关注我 👀!
2025-04-06 23:33:35
631
汇编语言程序设计for linux
2009-06-10
poppler-data-0.1解决linux下pdf文档中中文字符乱码的问题
2009-01-19
linux内核调试技术
2008-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人