我的创作纪念日


机缘

我成为技术创作者的初心源于嵌入式开发中的"踩坑"经历

  1. 实战项目痛点
    在早期开发工业控制器时,我曾因UART通信中的DMA配置问题卡壳三天。翻遍英文手册和零散的论坛帖子后,终于找到解决方案。这段经历让我意识到:技术经验的系统化沉淀对开发者至关重要
  2. 从笔记到分享
    最初只是在本地Markdown文件记录调试日志,后来发现将这些内容结构化发布到CSDN,不仅能帮助自己复盘,还能为同行节省时间。
  3. 开源社区启发
    参与开源项目时,发现技术交流的价值。通过文章和社区互动,我逐步形成了"输入-实践-输出"的正向循环。

收获

创作带来的回报远超预期:

  1. 数据反馈
  2. 技术成长
    • 逆向提升基础能力:为了讲清"为什么",倒逼自己深入研究编译器行为、ARM汇编等底层知识
    • 建立知识网络:通过写作梳理出嵌入式开发的知识图谱(如RTOS核心机制)
  3. 行业连接
    结识了企业的工程师,参与线下技术沙龙,甚至获得某芯片原厂的开发者认证称号。

日常

创作已深度融入工作学习

  1. 工作即素材
    • 将项目中的技术难点(如低功耗优化、OTA升级)拆解为系列教程
    • 开发工具链时,同步撰写《ARM GCC内联汇编实战指南》
  2. 时间管理术
    • 碎片时间收集:用Notion记录灵感,周末集中整理
    • 番茄工作法:每晚20:00-22:00专注写作,雷打不动
    • 代码即案例:所有文章附可运行的代码仓库(如GitHub链接)
  3. 学习闭环
    通过写作反哺知识体系,形成良性循环

成就

最骄傲的代码:轻量级嵌入式状态机框架

c

c 复制代码
// sm.h:适用于资源受限MCU的事件驱动框架
typedef struct {
    State current;     // 当前状态
    Event event;       // 触发事件
    State next;        // 下一状态
    Action action;     // 状态转移动作
} StateTransition;

// 状态机引擎核心逻辑
void state_machine_run(StateMachine *sm, Event evt) {
    for (int i=0; i<sm->transition_count; i++) {
        StateTransition *t = &sm->transitions[i];
        if (t->current == sm->current_state && t->event == evt) {
            if (t->action) t->action(sm->context);  // 执行动作
            sm->current_state = t->next;            // 状态转移
            break;
        }
    }
}

/* 使用示例:智能家居门锁状态机
 * 状态:未锁定 → 已锁定 → 报警
 * 事件:密码输入、暴力破坏等
 */

代码价值

  • 资源占用极低(ROM < 512B,RAM 16B)
  • 支持动态注册状态转移表,易扩展

憧憬

  1. 职业规划
    • 技术纵深:深耕嵌入式生态与实时性优化,目标成为芯片原厂工具链专家
    • 技术布道:计划出版《嵌入式系统设计:从寄存器到AIoT》
  2. 创作规划
    • 实战专栏:开设专业性付费专栏
    • 视频化:在B站/知乎推出嵌入式调试实操视频(示波器、J-Link技巧)
    • 开源计划:将自研的轻量级OTA框架开源,构建开发者生态
  3. 社区愿景
    希望未来加入嵌入式技术联盟,联合企业、高校开发者,推动国内MCU领域技术文档规范化。

致谢

感谢CSDN平台提供的创作土壤,也感谢每一位读者的"一键三连"。技术的魅力在于分享,愿我们共同在嵌入式世界的0和1之间,编织出无限可能!

相关推荐
车载操作系统---攻城狮8 小时前
[驱动开发篇] Can通信快速入门手册 - 应用篇
驱动开发
Natsume17102 天前
嵌入式开发:GPIO、UART、SPI、I2C 驱动开发详解与实战案例
c语言·驱动开发·stm32·嵌入式硬件·mcu·架构·github
S,D3 天前
MCU引脚的漏电流、灌电流、拉电流区别是什么
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·硬件工程
Despacito0o3 天前
ESP32-s3摄像头驱动开发实战:从零搭建实时图像显示系统
人工智能·驱动开发·嵌入式硬件·音视频·嵌入式实时数据库
小米里的大麦13 天前
014 Linux 2.6内核进程调度队列(了解)
linux·运维·驱动开发
Svan.14 天前
Portable Watch:基于STM32的便携智能手表
arm开发·驱动开发·stm32·嵌入式硬件·硬件工程·pcb工艺·智能手表
楼台的春风16 天前
【Linux驱动开发 ---- 4_驱动开发框架和 API】
linux·c语言·c++·人工智能·驱动开发·嵌入式硬件·ubuntu
楼台的春风16 天前
【Linux驱动开发 ---- 1.1_Linux 基础操作入门】
linux·c语言·c++·人工智能·驱动开发·嵌入式硬件·ubuntu
sukalot16 天前
window显示驱动开发—输出合并器阶段
驱动开发·算法
sukalot16 天前
window显示驱动开发—使用状态刷新回调函数
驱动开发