自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 问答 (1)
  • 收藏
  • 关注

原创 【LuckiBit】macOS/Linux 常用命令大全

整理完善的 **macOS / Linux 终端常用命令大汇总**,包括全称释义、常用选项、使用示例和易记口诀,适合日常开发与系统操作记忆使用。

2025-07-21 21:41:19 926

原创 【CMake】CMake 项目打包与 find_package 使用流程:从 A 到 B 的完整范例

本示例展示了如何使用 **CMake** 创建一个 **C 语言静态库项目(A)**,并在 **另一个完全独立的项目(B)** 中通过 `find_package()` 使用该库。

2025-07-18 12:41:44 767

原创 【CMake】使用 CMake 构建 C/C++ 项目的标准流程详解

CMake 构建流程简单且跨平台:* 建议使用 Out-of-Source 构建* 运行 `cmake` 生成构建文件* 通过 `cmake --build .` 编译* 运行生成的程序

2025-07-16 15:47:23 1073

原创 【CMake】使用 CMake 将多模块 C 项目构建为库并链接主程序

CMake 是目前最主流的 C/C++ 构建工具之一,具备跨平台、模块化、维护性强等优势。本文将以你提供的多模块 C 项目为例,介绍如何使用现代 CMake:

2025-07-15 16:41:04 1004

原创 【CMake】使用 CMake 将单模块 C 项目构建为库并链接主程序

CMake 是现代 C/C++ 项目中最主流的构建工具之一。它不仅可以帮助开发者组织源代码、管理依赖、构建库文件,还能提升项目的模块化程度和可维护性。

2025-07-15 10:47:44 1203

原创 【Unicode】UTF-8 BOM 与无 BOM:标准、兼容性与系统规范全解析

UTF-8 是当今主流的文本编码格式,尤其在跨平台开发、国际化项目、嵌入式系统中应用广泛。但在使用 UTF-8 时,有一个常被忽视却又可能引发严重兼容性问题的细节:**UTF-8 的 BOM(Byte Order Mark)**。

2025-07-14 12:52:25 876

原创 【LuckiBit】编码格式详解:字符、字符集与编码方式的系统全面解析

编码定义了字符如何被存储和传输,在环境同一时可以按需使用简单编码(如 ASCII),而跨平台、多语种环境中,建议一定使用 **UTF-8 无 BOM** 编码,选择标准编码方式对保持编码一致性、避免乱码极为重要!

2025-07-09 12:47:24 1037

原创 【嵌入式】国际主流嵌入式系统全面对比

嵌入式系统广泛应用于物联网(IoT)、工业控制、汽车电子、医疗设备、航空航天等关键行业。全球围绕嵌入式操作系统和芯片平台形成了多个成熟生态系统,如美国的 VxWorks、QNX,日本的 µITRON,中国的 RT-Thread,以及全球支持的 Linux、FreeRTOS 等。

2025-07-07 13:05:24 667

原创 【LuckiBit】技术与互联网命名习惯全览:从 `foo` 到 `wtf`,你了解多少?

在软件开发、互联网产品、极客文化和数字命名中,有很多命名方式看似随意,实则约定俗成。这些术语短小精悍,寓意清晰,有的源于技术标准,有的来自黑客文化,也有的成为产品命名的灵感来源。

2025-06-09 10:09:50 912

原创 【C语言】从原码到补码:二进制负数的历史、原理与应用全解

原码、反码、补码是计算机系统的基础构件,它们体现了二进制系统对“负数”的不同处理方式。

2025-05-07 11:10:28 180

原创 【嵌入式】嵌入式系统可以用哪些编程语言实现(系统全面讲解)

嵌入式系统(Embedded System)是一种**以应用为中心、以计算机技术为基础**、可裁剪的软件和硬件结合系统。它不具备像普通电脑那样的通用性,而是为了完成某项特定任务而存在。

2025-04-10 10:25:01 1316

原创 【Git】5 个分区的切换方式及示例

在 Git 中,五个分区(贮藏区、工作区、缓存区、本地仓库、远程仓库)之间的切换涉及不同的 Git 命令。以下是各个分区的切换方式:

2025-04-01 15:46:50 1111

原创 【电路】RLC电路基本概念

RLC 电路是由 **电阻 (R)、电感 (L)、电容 (C)** 三种基本电子元件组成的电路,是电子工程中的核心研究对象。它属于 **二阶电路**,其行为由二阶微分方程描述,具有丰富的动态特性。RLC 电路根据元件的连接方式分为 **串联 RLC 电路** 和 **并联 RLC 电路**,在滤波器、振荡器、谐振电路等应用中发挥重要作用。以下将从符号定义、基本概念、电路特性、响应分析、基尔霍夫定律、复频域分析、电路图绘制到应用领域进行全面讲解。

2025-03-19 13:00:04 1413

原创 【C语言】随机滚动抽奖程序,可控制概率!(附源代码及解析)

这是一个简单的抽奖程序,允许用户通过设定参与者名单和中奖概率来进行抽奖。程序支持自定义参与者名单、设定各自的中奖概率,并通过滚动显示和抽奖结果展示获奖者。

2025-03-17 22:30:30 1198

原创 【电路】阻抗的基本概念

阻抗(Impedance)是交流电路中电压与电流之间关系的一种度量,通常用符号 **Z** 表示,其单位为欧姆(Ω)。它是电阻(Resistance, R)、电感(Inductance, L)和电容(Capacitance, C)共同作用的结果。

2025-03-17 16:52:55 1435

原创 【English】英语中的单复数详解

在英语中,**名词**可以表示**单数(singular)**或**复数(plural)**,用来区分数量上的不同。

2025-03-17 10:39:05 1849

原创 【嵌入式】嵌入式系统中的 SemVer 版本控制方案

在嵌入式系统开发中,采用 **语义化版本控制(SemVer, Semantic Versioning)** 能帮助团队清晰地管理 **固件(Firmware)**、**驱动(Driver)** 和 **软件(Software)** 版本,确保兼容性和稳定性。

2025-03-14 14:42:40 1364

原创 【Story】IETF(互联网工程任务组)

IETF 是互联网的核心标准制定机构,确保网络协议的互操作性和安全性。它以 开放、共识、非营利 的方式运作,影响着全球互联网的发展。无论是开发者、研究人员,还是互联网用户,都可以通过 IETF 了解和贡献互联网技术的发展。

2025-03-14 09:23:33 1266

原创 【C语言】结构体与联合体的内存对齐

合理调整 **成员顺序**,可以有效减少 **填充字节**,提高 **存储效率** 和 **访问性能**,特别是在 **嵌入式开发** 和 **大规模数据存储** 中。

2025-03-13 10:02:05 153

原创 【嵌入式】为什么嵌入式系统中很少使用 `malloc`?

在传统的桌面或服务器应用程序开发中,`malloc`(及其相关函数如 `calloc`、`free`)是动态内存分配的常用工具,用于在运行时根据需求分配内存。然而,在嵌入式系统开发中,`malloc` 的使用却受到严格限制,甚至被许多开发者视为“禁区”。这种现象并非偶然,而是由嵌入式系统的独特特性和设计哲学决定的。本文将从资源限制、实时性要求、可靠性需求、调试难度以及替代方案的角度,系统分析为什么嵌入式系统中很少使用 `malloc`,并探讨其背后的技术与工程考量。

2025-03-12 15:06:31 1195

原创 【嵌入式】制作 `.lib` 时需要 `.c` 和对应的 `.h` 文件吗?

制作.lib文件过程中,常见的问题

2025-03-11 09:54:36 973

原创 【嵌入式】在 Keil C51 中生成库文件(`.lib`)步骤

在 Keil C51 中生成库文件(`.lib`)步骤(以 STC8H1K08T为例)

2025-03-06 16:35:30 1349

原创 【嵌入式】嵌入式开发中隐藏源代码并提供 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 1095

原创 【嵌入式】嵌入式项目手动与自动化构建流程详解

在嵌入式开发过程中,从源代码编写到最终程序烧录涉及多个关键步骤,这些步骤在手动方式和自动化方式下有所不同。本文详细介绍了8个嵌入式项目处理流程:源代码编写、预处理、编译、汇编、链接、生成二进制和 HEX 文件、烧录以及清理。每个流程都有其独立的操作命令,并对不同的开发工具链进行详细讲解。

2025-03-05 15:37:42 1413

原创 【C语言】联合体妙用之:数据类型转换

在 C 语言中,联合体(`union`)是一种特殊的复合数据类型,通过内存共享实现高效的数据存储和类型转换。本文将聚焦一个精心命名的联合体 `DataFormatConverter`,详细剖析其设计理念、内存机制和妙用场景,同时结合 `.` 和 `->` 操作符的使用与对比,展示其在数据处理中的强大能力。`typedef` 的应用也将贯穿其中,提升代码的可读性和可维护性。

2025-03-03 15:41:37 237

原创 【C语言】联合体 `union` 的妙用

在 C 语言中,联合体(`union`)是一种独特的复合数据类型,因其内存共享特性而在内存优化、类型切换和底层操作中展现出妙用。与结构体(`struct`)不同,联合体允许同一块内存存储不同类型的数据,提供高效且灵活的解决方案。访问联合体成员时,`.` 和 `->` 操作符是核心工具,而 `typedef` 则为联合体的使用增添了简洁性和可移植性。本文将从基础概念讲起,深入探讨联合体的妙用场景,并详细剖析 `.` 和 `->` 的用法与对比,最后结合 `typedef` 提供一个综合示例。

2025-03-03 15:10:08 351

原创 【C语言】值传递与指针传递,以及 `.` 和 `->` 操作详解

在 C 语言中,函数参数的传递机制和结构体成员的访问方式是编程中的核心概念。**值传递**(pass-by-value)和**指针传递**(pass-by-pointer)决定了函数如何处理传入的数据,而 **`.` 操作符** 和 **`->` 操作符** 则是访问结构体成员的两种主要工具。

2025-03-03 13:33:00 158

原创 【C语言】高内聚低耦合:结构体、联合体、数组、字符串、枚举和指针的综合实践

在C语言编程中,**高内聚**(High Cohesion)和**低耦合**(Low Coupling)是模块化设计的核心原则。通过合理使用 **结构体、联合体、数组、字符串、枚举和指针**,我们可以构建职责清晰、依赖最小的代码。本文将从基本概念出发,详细讲解这些元素在高内聚低耦合设计中的应用,并以一个完整的多文件示例收尾。

2025-03-03 11:29:20 257

原创 【C语言】在 Windows 上生成功能完整的最小化 .exe 文件

在 Windows 开发中,创建一个体积小且功能完整的 .exe 文件是优化程序性能的重要一步。本文将通过简单明了的步骤,指导您如何精简编译选项、剔除冗余依赖,并最终生成最小化的可执行文件,适合嵌入式开发或资源受限的环境。

2025-01-24 15:17:57 280

原创 【C语言】在Windows上为可执行文件.exe添加自定义图标

本文详细介绍了在 `Windows` 环境下,如何为使用 `GCC` 编译器编译的 `C程序` 添加自定义图标,从而生成带有图标的 `.exe` 可执行文件。通过本文的指导,读者可以了解到所需的条件以及具体的操作步骤,使生成的程序更具专业性和个性化。

2025-01-24 11:02:36 527

原创 【Python】脚本保护与分发:5 种方法轻松保护你的 Python 脚本

以下是关于如何隐藏 clean.py 脚本内部代码的 5 种方法的改进与完善版,包括详细的步骤、工具下载、安装和使用说明。

2025-01-23 15:12:12 1037

原创 【嵌入式】Modbus协议异常码函数 - 原理及C语言实现

在 Modbus 协议中,异常码是用来表示错误状态的。每当接收到一个无效请求或在处理请求时发生错误,主机或从机需要返回一个异常响应。

2025-01-03 15:50:12 879

原创 【C语言】结构体模块化编程

在模块化编程中,结构体作为数据存储的主要方式之一,它不仅用于存储数据,还帮助实现代码的封装与隐私保护。通过将结构体定义放在 `.c` 文件中并使用 `get_` 和 `set_` 函数进行访问,我们可以实现对结构体数据的保护,同时降低模块之间的耦合度,提高内聚性。接下来,我们将详细讲解结构体的规范格式、`get_` 和 `set_` 函数的设计、函数设计规范、以及如何在 `.c` 文件中定义结构体来保护数据隐私。

2024-12-25 14:43:25 1543 6

原创 【C语言】`free` 函数详细讲解

`free` 是 C 语言标准库中的一个重要函数,它用于释放之前通过 `malloc`、`calloc` 或 `realloc` 等函数动态分配的内存。正确使用 `free` 函数非常关键,因为它能够避免内存泄漏和资源浪费,同时确保程序在运行时不会消耗过多的内存。

2024-12-24 14:36:51 1076

原创 【C语言】C 语言编码风格(基于 ISO/IEC 9899:2024 和 Linux 内核编码风格 v6.13.0-rc4)

C 语言的编码风格标准在许多方面有相似之处,特别是在变量命名、函数定义、注释和代码结构方面。**ISO/IEC 9899:2024 (N3220)**(即 C23 标准)提供了一些通用的编码建议,而 **Linux 内核编码风格** 则更多关注内核代码的性能和可维护性。

2024-12-24 11:30:55 1193

原创 【C语言】深入探讨 C 语言 `int` 类型大小及其跨平台影响

C 语言作为一种通用编程语言,其数据类型的大小由多种因素共同决定,而 `int` 类型作为最常用的整数类型之一,其字节数(大小)往往备受关注。本文将系统性地探讨 `int` 类型字节数的相关知识,从基础概念到实际应用,深入剖析影响因素和实现机制。

2024-12-23 09:35:00 1054

原创 【C语言】C语言的变量和声明系统性讲解

在C语言中,**声明(Declaration)**和**定义(Definition)**是两个重要的基础概念,它们都涉及到变量、函数、结构体等的使用,但功能和作用存在明显区别:

2024-12-07 23:59:12 1102

原创 【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用

在 C 和 C++ 编程中,`#pragma` 是一个预处理指令,用来给编译器提供一些特殊的指示。它通常用于调整编译行为、控制特定编译器的优化、内存对齐以及防止头文件的重复包含等。不同的编译器可能支持不同的 `#pragma` 指令,且它们的语法和行为可能会有所差异。

2024-12-06 16:37:21 1108

原创 【C语言】深入解析C语言结构体:定义、声明与高级应用实践

根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。

2024-12-06 13:52:47 1020

原创 【Story】《嵌入式开发中的Bug故事:挑战、解决与成长》

通过对这些Bug的深入分析与总结,我们不仅能提高自己的技术能力,也能为团队和项目提供更稳定和高效的解决方案。希望这些经验能为正在开发嵌入式系统的工程师们提供一些参考和启发,帮助他们在未来的工作中少走弯路,少遇到“隐藏的小怪兽”。

2024-11-29 13:04:46 1562 1

【float2hex.exe】浮点数 16 进制转换

**软件名称:float2hex** **功能**:进制转换 **详细功能**:float2hex是一款专注于进制转换的小型软件,能够在浮点数、双精度浮点数、十六进制、十进制和二进制之间进行相互转换。用户可以轻松地将浮点数转换为十六进制或二进制表示,也可以将十六进制或二进制数转换回浮点数或双精度浮点数。此外,该软件还支持十进制与其他进制之间的转换,满足用户在各种进制表示间的转换需求。 **特点**: 1. **内存非常小**:float2hex软件体积小巧,安装包仅占用极少的存储空间,几乎不会影响计算机的性能。这使得它成为一款轻便的工具,适合任何设备上使用,无需担心存储空间不足的问题。 2. **界面简洁**:软件界面设计简洁直观,用户可以轻松上手。主界面清晰地展示了各种转换选项和输入输出区域,用户无需复杂的操作步骤,即可完成进制转换任务。 3. **好操作**:float2hex的操作流程简单明了,只需输入需要转换的数值并选择相应的进制,点击转换按钮即可得到结果。即使是初次使用的用户,也能快速掌握其操作方法。软件还提供了详细的使用说明,确保用户能够顺利完成各种进制转换。

2024-07-02

ModbusModbus Pool 10.9.1 调试从机设备,数据读取和写入

**Modbus Poll** 是一款广泛使用的Modbus主模拟器,专门用于测试和调试Modbus从设备。它支持多种Modbus协议,包括Modbus RTU、ASCII、TCP/IP、UDP/IP,适用于各种通信需求。这个工具的主要功能是允许用户读取和写入Modbus设备的数据,从而帮助开发人员在实际部署前进行详细的测试和调试。 Modbus Poll 提供了一个直观的用户界面,使用户能够轻松设置并管理多个从设备的通信。通过该工具,用户可以模拟不同的从设备数据场景,读取保持寄存器和输入寄存器的数据,并执行写单线圈和写多线圈等操作。这些功能对于调试从设备的响应和验证其正确性非常有用。 一个显著的特点是其实时图表功能,可以帮助用户可视化数据变化。这对于监控实时数据流和识别问题特别有帮助。此外,Modbus Poll 还支持条件格式设置,这使得用户能够根据数据值的范围直观地呈现不同的颜色,以便更快速地进行数据分析。 总的来说,Modbus Poll 是一款强大且灵活的工具,支持多种连接类型,能够显著简化Modbus设备的测试和调试过程,为开发人员提供了丰富的功能和便利性。

2024-06-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除