- 博客(6)
- 收藏
- 关注
原创 嵌入式开发必学:动作表编程技巧
本文介绍了动作表(查表法)这一编程思想,通过预定义结构体数组替代传统if-else/switch判断,实现数据驱动编程。动作表具有可维护性高(修改只需调整表数据)、扩展性强(新增功能仅需添加表项)、执行效率优(时间复杂度可达O(1))等优势。文章通过命令解析器和状态机两个嵌入式开发实例,展示了动作表的具体实现方式:定义键值-处理函数结构体、初始化查询表、通过遍历匹配执行对应操作。这种"以空间换时间"的设计模式特别适用于协议处理、事件响应等场景,能显著提升代码可读性和可维护性,是嵌入式开发
2025-11-14 14:12:37
979
原创 面向对象编程:从蛋炒饭看C++精髓
本文系统介绍了C++面向对象编程的核心概念,重点对比了面向过程与面向对象的差异。面向过程关注执行步骤(如做蛋炒饭的流程),而面向对象则围绕对象(锅、鸡蛋等)及其属性、方法展开。文章详细讲解了类的定义、封装(通过public/private/protected控制访问权限)、构造函数与析构函数、静态成员、this指针等基本概念。特别深入探讨了拷贝构造函数(浅拷贝与深拷贝的区别)、运算符重载(包括输入输出、下标、赋值等运算符)的实现方法,并介绍了C++11新增的移动语义(移动构造函数和右值引用)。最后还涉及友元
2025-07-26 18:34:39
737
原创 UCOSIII学习笔记(快速学习大全)
摘要: 本文系统梳理了μC/OS-III实时操作系统的核心知识与应用方法,涵盖任务管理(创建/删除/挂起/恢复)、调度机制(抢占式/时间片)、中断管理、临界区保护、IPC通信(队列/信号量/事件标志)、内存管理及软件定时器等关键内容。重点解析了任务状态转换、优先级翻转问题及解决方案(互斥信号量)、任务切换原理(PendSV触发)以及系统初始化的完整流程(OSInit→OSStart)。通过对比二值/计数型信号量、硬件/软件定时器的差异,结合API函数说明和时序分析,为嵌入式开发者提供了μC/OS-III的实
2025-07-10 11:23:52
871
原创 网络编程练手-轻量化FTP文件传输服务器
本项目实现了一个基于C语言的轻量级FTP服务器与客户端系统,主要功能包括文件列表查看、文件下载和上传。服务器采用多线程技术处理多客户端并发请求,自定义协议定义了LIST、GET、PUSH和QUIT四种指令。系统通过请求/响应数据包结构实现通信,包含包头(指令/状态)和包体(数据)。客户端提供命令行交互界面,支持list、get、push等操作。项目采用Makefile编译,需注意多线程编程需链接pthread库,且需确保网络环境畅通。该实现适合网络编程初学者练习TCP/IP和套接字编程基础。
2025-07-10 10:45:09
677
1
原创 二叉树层次遍历 (以链式队列实现)
层次遍历,顾名思义,就是按照从上到下、从左到右的顺序依次访问二叉树的每个节点。就像我们排队买东西一样,先到的排在前面,后到的排在后面。在二叉树的世界里,根节点是最先出场的“大哥”,然后是它的左右孩子,接着是下一层的孩子……以此类推。层次遍历的核心在于“队列”——一个先进先出(FIFO)的数据结构。我们用它来管理节点的出场顺序,确保每个节点都能按规矩排队。源码附上tree.h//结点类型}Node;//创建队列typedef struct qnode{ //队列元素结点//保存树结点。
2025-02-27 17:36:26
446
TI-HDC2010温湿度传感器数据手册
2026-01-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅