- 博客(164)
- 问答 (1)
- 收藏
- 关注
原创 【嵌入式】printf 重定向到指定串口
nanoprintf 是一个 极简嵌入式打印格式化库(printf 替代),适合在资源受限的 MCU 环境里使用
2025-12-18 18:27:25
716
原创 【嵌入式】波特率与比特率的系统性解析
在通信系统中,“9600”“115200”“1 Mbps”等参数被频繁提及。然而,在实际工程中,一个非常常见的问题是:这些数值描述的是信号变化速度,还是信息传输速度?这正是 波特率(Baud Rate) 与 比特率(Bit Rate) 的根本区别。二者在概念上不同,在工程计算中用途不同,但在某些通信方式中又会表现出数值相等的现象,这也是混淆产生的根源。
2025-12-16 11:31:59
955
原创 【ESP8266】使用 ESP8266 + CoolTerm + Packet Sender 构建 TCP 通信的完整调试流程
使用 ESP8266 + USB-TTL + CoolTerm + Packet Sender 构建 TCP 通信的完整调试流程(含硬件接线、AT 指令、踩坑总结)
2025-12-01 13:57:00
899
原创 【电路】阻抗与复阻抗
阻抗(Impedance)与复阻抗(Complex Impedance)是交流电路分析中非常重要的概念。前者强调电路对交流电的“阻碍强度”,后者则进一步引入复数形式,完整描述了大小与相位关系。下面从定义、数学表示、物理意义、应用场景、实际案例和总结对比几个方面详细说明。
2025-09-29 14:02:46
1911
原创 【Neovim】Vi、Vim、Neovim 与 LazyVim:发展史
文本编辑器在开发者与运维人员的日常工作中扮演着核心角色。在类 Unix 系统世界中,编辑器的发展演变经历了 **vi → Vim → Neovim → LazyVim** 的路径:
2025-09-06 18:58:19
1153
原创 【嵌入式】SDCC中的原子操作详解
原子操作(atomic operation)指执行过程中不会被中断或打断的操作,要么全部完成,要么完全不做,不会产生中间状态。
2025-08-08 15:44:58
1081
原创 【CMake】使用 SDCC 构建 8051 工程并生成 HEX 文件
本文将介绍如何使用 **SDCC + CMake** 构建一个适用于 **STC8 系列(8051 架构)MCU** 的嵌入式工程,从软件准备到最终生成 `.hex` 文件,适合初学者逐步上手。
2025-08-07 12:01:47
1379
原创 【LuckiBit】macOS/Linux 常用命令大全
整理完善的 **macOS / Linux 终端常用命令大汇总**,包括全称释义、常用选项、使用示例和易记口诀,适合日常开发与系统操作记忆使用。
2025-07-21 21:41:19
1185
原创 【CMake】CMake 项目打包与 find_package 使用流程:从 A 到 B 的完整范例
本示例展示了如何使用 **CMake** 创建一个 **C 语言静态库项目(A)**,并在 **另一个完全独立的项目(B)** 中通过 `find_package()` 使用该库。
2025-07-18 12:41:44
948
原创 【CMake】使用 CMake 构建 C/C++ 项目的标准流程详解
CMake 构建流程简单且跨平台:* 建议使用 Out-of-Source 构建* 运行 `cmake` 生成构建文件* 通过 `cmake --build .` 编译* 运行生成的程序
2025-07-16 15:47:23
1336
原创 【CMake】使用 CMake 将多模块 C 项目构建为库并链接主程序
CMake 是目前最主流的 C/C++ 构建工具之一,具备跨平台、模块化、维护性强等优势。本文将以你提供的多模块 C 项目为例,介绍如何使用现代 CMake:
2025-07-15 16:41:04
1210
原创 【CMake】使用 CMake 将单模块 C 项目构建为库并链接主程序
CMake 是现代 C/C++ 项目中最主流的构建工具之一。它不仅可以帮助开发者组织源代码、管理依赖、构建库文件,还能提升项目的模块化程度和可维护性。
2025-07-15 10:47:44
1411
原创 【Unicode】UTF-8 BOM 与无 BOM:标准、兼容性与系统规范全解析
UTF-8 是当今主流的文本编码格式,尤其在跨平台开发、国际化项目、嵌入式系统中应用广泛。但在使用 UTF-8 时,有一个常被忽视却又可能引发严重兼容性问题的细节:**UTF-8 的 BOM(Byte Order Mark)**。
2025-07-14 12:52:25
1235
原创 【LuckiBit】编码格式详解:字符、字符集与编码方式的系统全面解析
编码定义了字符如何被存储和传输,在环境同一时可以按需使用简单编码(如 ASCII),而跨平台、多语种环境中,建议一定使用 **UTF-8 无 BOM** 编码,选择标准编码方式对保持编码一致性、避免乱码极为重要!
2025-07-09 12:47:24
1175
原创 【嵌入式】国际主流嵌入式系统全面对比
嵌入式系统广泛应用于物联网(IoT)、工业控制、汽车电子、医疗设备、航空航天等关键行业。全球围绕嵌入式操作系统和芯片平台形成了多个成熟生态系统,如美国的 VxWorks、QNX,日本的 µITRON,中国的 RT-Thread,以及全球支持的 Linux、FreeRTOS 等。
2025-07-07 13:05:24
1329
原创 【LuckiBit】技术与互联网命名习惯全览:从 `foo` 到 `wtf`,你了解多少?
在软件开发、互联网产品、极客文化和数字命名中,有很多命名方式看似随意,实则约定俗成。这些术语短小精悍,寓意清晰,有的源于技术标准,有的来自黑客文化,也有的成为产品命名的灵感来源。
2025-06-09 10:09:50
1088
原创 【嵌入式】嵌入式系统可以用哪些编程语言实现(系统全面讲解)
嵌入式系统(Embedded System)是一种**以应用为中心、以计算机技术为基础**、可裁剪的软件和硬件结合系统。它不具备像普通电脑那样的通用性,而是为了完成某项特定任务而存在。
2025-04-10 10:25:01
2004
原创 【Git】5 个分区的切换方式及示例
在 Git 中,五个分区(贮藏区、工作区、缓存区、本地仓库、远程仓库)之间的切换涉及不同的 Git 命令。以下是各个分区的切换方式:
2025-04-01 15:46:50
1323
原创 【电路】RLC电路基本概念
RLC 电路是由 **电阻 (R)、电感 (L)、电容 (C)** 三种基本电子元件组成的电路,是电子工程中的核心研究对象。它属于 **二阶电路**,其行为由二阶微分方程描述,具有丰富的动态特性。RLC 电路根据元件的连接方式分为 **串联 RLC 电路** 和 **并联 RLC 电路**,在滤波器、振荡器、谐振电路等应用中发挥重要作用。以下将从符号定义、基本概念、电路特性、响应分析、基尔霍夫定律、复频域分析、电路图绘制到应用领域进行全面讲解。
2025-03-19 13:00:04
2720
原创 【C语言】随机滚动抽奖程序,可控制概率!(附源代码及解析)
这是一个简单的抽奖程序,允许用户通过设定参与者名单和中奖概率来进行抽奖。程序支持自定义参与者名单、设定各自的中奖概率,并通过滚动显示和抽奖结果展示获奖者。
2025-03-17 22:30:30
1428
原创 【电路】阻抗的基本概念
阻抗(Impedance)是交流电路中电压与电流之间关系的一种度量,通常用符号 **Z** 表示,其单位为欧姆(Ω)。它是电阻(Resistance, R)、电感(Inductance, L)和电容(Capacitance, C)共同作用的结果。
2025-03-17 16:52:55
1966
原创 【English】英语中的单复数详解
在英语中,**名词**可以表示**单数(singular)**或**复数(plural)**,用来区分数量上的不同。
2025-03-17 10:39:05
3831
原创 【嵌入式】嵌入式系统中的 SemVer 版本控制方案
在嵌入式系统开发中,采用 **语义化版本控制(SemVer, Semantic Versioning)** 能帮助团队清晰地管理 **固件(Firmware)**、**驱动(Driver)** 和 **软件(Software)** 版本,确保兼容性和稳定性。
2025-03-14 14:42:40
1575
原创 【Story】IETF(互联网工程任务组)
IETF 是互联网的核心标准制定机构,确保网络协议的互操作性和安全性。它以 开放、共识、非营利 的方式运作,影响着全球互联网的发展。无论是开发者、研究人员,还是互联网用户,都可以通过 IETF 了解和贡献互联网技术的发展。
2025-03-14 09:23:33
1717
原创 【C语言】结构体与联合体的内存对齐
合理调整 **成员顺序**,可以有效减少 **填充字节**,提高 **存储效率** 和 **访问性能**,特别是在 **嵌入式开发** 和 **大规模数据存储** 中。
2025-03-13 10:02:05
261
原创 【嵌入式】为什么嵌入式系统中很少使用 `malloc`?
在传统的桌面或服务器应用程序开发中,`malloc`(及其相关函数如 `calloc`、`free`)是动态内存分配的常用工具,用于在运行时根据需求分配内存。然而,在嵌入式系统开发中,`malloc` 的使用却受到严格限制,甚至被许多开发者视为“禁区”。这种现象并非偶然,而是由嵌入式系统的独特特性和设计哲学决定的。本文将从资源限制、实时性要求、可靠性需求、调试难度以及替代方案的角度,系统分析为什么嵌入式系统中很少使用 `malloc`,并探讨其背后的技术与工程考量。
2025-03-12 15:06:31
1436
原创 【嵌入式】在 Keil C51 中生成库文件(`.lib`)步骤
在 Keil C51 中生成库文件(`.lib`)步骤(以 STC8H1K08T为例)
2025-03-06 16:35:30
1724
原创 【嵌入式】嵌入式开发中隐藏源代码并提供 API 接口(以 ARM Cortex-M3 为例)
以下是针对 ARM Cortex-M3 在 Windows 系统下隐藏源代码并提供 API 接口所需的准备工作,包括需要下载和安装的内容,以及开发者需要准备的具体步骤。以 ARM Cortex-M3 为例,基于 `arm-none-eabi-gcc` 工具链,其他架构(如 8051、RISC-V)只需替换工具链和参数即可。
2025-03-05 16:33:13
1224
原创 【嵌入式】嵌入式项目手动与自动化构建流程详解
在嵌入式开发过程中,从源代码编写到最终程序烧录涉及多个关键步骤,这些步骤在手动方式和自动化方式下有所不同。本文详细介绍了8个嵌入式项目处理流程:源代码编写、预处理、编译、汇编、链接、生成二进制和 HEX 文件、烧录以及清理。每个流程都有其独立的操作命令,并对不同的开发工具链进行详细讲解。
2025-03-05 15:37:42
1699
原创 【C语言】联合体妙用之:数据类型转换
在 C 语言中,联合体(`union`)是一种特殊的复合数据类型,通过内存共享实现高效的数据存储和类型转换。本文将聚焦一个精心命名的联合体 `DataFormatConverter`,详细剖析其设计理念、内存机制和妙用场景,同时结合 `.` 和 `->` 操作符的使用与对比,展示其在数据处理中的强大能力。`typedef` 的应用也将贯穿其中,提升代码的可读性和可维护性。
2025-03-03 15:41:37
391
原创 【C语言】联合体 `union` 的妙用
在 C 语言中,联合体(`union`)是一种独特的复合数据类型,因其内存共享特性而在内存优化、类型切换和底层操作中展现出妙用。与结构体(`struct`)不同,联合体允许同一块内存存储不同类型的数据,提供高效且灵活的解决方案。访问联合体成员时,`.` 和 `->` 操作符是核心工具,而 `typedef` 则为联合体的使用增添了简洁性和可移植性。本文将从基础概念讲起,深入探讨联合体的妙用场景,并详细剖析 `.` 和 `->` 的用法与对比,最后结合 `typedef` 提供一个综合示例。
2025-03-03 15:10:08
546
原创 【C语言】值传递与指针传递,以及 `.` 和 `->` 操作详解
在 C 语言中,函数参数的传递机制和结构体成员的访问方式是编程中的核心概念。**值传递**(pass-by-value)和**指针传递**(pass-by-pointer)决定了函数如何处理传入的数据,而 **`.` 操作符** 和 **`->` 操作符** 则是访问结构体成员的两种主要工具。
2025-03-03 13:33:00
263
【float2hex.exe】浮点数 16 进制转换
2024-07-02
ModbusModbus Pool 10.9.1 调试从机设备,数据读取和写入
2024-06-18
Github和Gitlab的关系和区别是什么
2024-12-04
Windows10桌面.txt文件如何隐藏名字?
2023-03-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅