自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 聊聊GPIO 工作模式

嵌入式开发中,GPIO(General-Purpose Input/Output)是最基础也最常用的功能模块之一。你可以把它想象成微控制器伸出来的无数根“手脚”:既可以用它**输出**信号去点亮LED、驱动外设,也可以用它**输入**信号来检测按键、读取传感器状态。

2025-06-19 23:04:09 438

原创 STM32串口通信:USART状态寄存器(SR)

**USART状态寄存器(SR)就是串口的“状态看门狗”** —— 实时反馈关键事件(收到/发完/错误),精准操作标志位 + 及时清错误 = 稳如老狗的串口通信!

2025-06-17 08:45:00 507

原创 中断:让你的CPU学会“多线程”干活

在程序执行当中,出现了某些特定事件,从而导致CPU需要暂停当前程序去处理中断事件,完事再回过头继续从中断点执行当前程序,这就是中断。

2025-06-16 08:45:00 602

原创 MFC消息映射核心宏极简指南

在MFC开发中,消息映射机制是连接用户操作与程序逻辑的核心桥梁。通过简洁的宏声明,开发者可以高效处理各种Windows消息。

2025-06-12 09:00:00 537

原创 深入浅出理解时钟树

时钟树就是给 STM32 芯片内部的各个功能模块计时的,能让这些模块知道该按什么速度工作,并且还能灵活调整速度,保所有模块的运作是精准同步的。

2025-06-10 09:00:00 963

原创 一文了解GPIO

GPIO,是微控制器(单片机)芯片上一类 **“万能”的物理引脚**。这些引脚没有预先限定功能(不像专门的串口、USB接口),可以由开发者**通过软件自由配置**其工作方式。

2025-06-09 09:00:00 368

原创 MFC 菜单状态更新核心操作及实用对照

在 MFC 开发中,根据程序状态动态更新菜单项的状态是实现良好用户体验的重要环节。以下将为您详细介绍 MFC 菜单状态更新的核心操作及相关要点。

2025-06-06 09:00:00 455

原创 位运算实用指南:高效操作二进制位

位运算直接操作内存中的二进制位,常用于底层开发、性能优化和算法设计。本文通过代码示例讲解核心技巧,带你快速掌握位运算的实用操作。

2025-06-05 09:00:00 862

原创 带你了解数字电路

数字电路以高低电平表示二进制(0/1),通过与、或、非等逻辑门组合处理信息,凭借强抗干扰性成为所有数字设备的计算基石。

2025-06-04 09:30:00 948

原创 C++数据类型:为何五花八门?

在C++开发中,你是否曾困惑过这些数据类型的选择:`int`还是`int32_t`?`unsigned long`还是`DWORD`?为什么C++需要这么多不同的数据类型表示法?今天我们就来解开这个谜团。

2025-06-03 09:00:00 328

原创 8位单通道数据保存为JPG

如何将单通道8位灰度数据(0黑~255白)直接保存为JPG文件?这里提供两种最实用方案:轻量级STB库(推荐)和OpenCV方案(已有环境适用)

2025-05-30 20:49:24 769

原创 STM32:单片机界的 “香饽饽”

它是意法半导体出品的 32 位 ARM Cortex-M 内核单片机,相比 51 单片机,性能大幅提升,堪称单片机界性价比超高的 “性能小钢炮”。

2025-05-29 22:45:27 298

原创 C++ 开发必知的图像位数核心知识

图像位数决定了颜色或灰度的精细程度。位数越高,数据越精细,但内存和计算成本也会增加。在 C++ 开发中,理解图像位数的核心差异对于高效处理图像数据至关重要。

2025-05-28 09:45:00 517

原创 选择排序:轻松理解与实现

选择排序(Selection Sort)就是**将序列划分为已排序和未排序两部分,每次从未排序序列中选取最小值,放置到已排序序列的末尾**。第一趟比较后,可以确定最小值的元素放到最左边的位置,重复 n-1 次直至完全有序。

2025-05-27 10:00:00 333

原创 冒泡排序:轻松理解与实现

冒泡排序通过多次遍历数组,将较大的元素逐步“冒泡”到数组末尾,直到所有元素都归位。

2025-05-23 22:55:23 660

原创 Windows 平台 TCP 通信开发指南

在 Windows 平台进行 TCP 通信开发,是网络编程中的常见需求。本文将详细讲解在 Windows 平台下,如何利用 Winsock API 实现高效的 TCP 客户端与服务端通信。

2025-05-22 22:06:50 1156

原创 为什么频繁使用 `std::endl` 会拖慢你的程序?

`std::endl = '\n' + 强制刷新`。频繁使用会导致高频 I/O 操作。**除非需要即时显示输出,否则优先使用 `\n`**。

2025-05-21 22:32:08 310

原创 MFC 编程中 OnInitDialog 函数

OnInitDialog函数是创建完成后第一个执行的函数,是对话框的起点。

2025-05-19 22:24:02 295

原创 串口通信DTR/DSR和RTS/CTS是什么

**设备握手阶段** :主机先拉高 DTR,设备检测到后拉高 DSR,完成初始握手。**传输控制阶段** :主机拉高 RTS 请求发送数据,设备准备好后拉高 CTS,主机收到后开始发送数据。

2025-05-18 09:00:00 2422

原创 MFC中DoDataExchange的简明指南

`DoDataExchange` 是 MFC 中实现控件与变量双向绑定的核心机制。

2025-05-17 09:00:00 201

原创 Windows 串口通信开发实战

串口通信是嵌入式、物联网、工业控制领域的基石技术,其本质是通过操作系统 API 直接操作 UART 硬件接口完成二进制/文本协议传输。Windows 系统通过 **文件化抽象** 实现串口控制。

2025-05-16 09:00:00 986

原创 MFC定时器使用指南:核心用法速通

MFC 定时器是一种低资源占用的毫秒级任务调度工具,适用于数据采集、界面刷新、动画控制等场景。

2025-05-15 08:15:00 908

原创 简单轻量的 C++ XML 解析库 TinyXML-2

TinyXML-2 是一个轻量级、跨平台的 C++ XML 解析库,适合快速读写小型 XML 文件,无需复杂依赖。

2025-05-14 08:15:00 545

原创 MFC 中的 Format 函数

在 MFC(Microsoft Foundation Classes)编程中,CString 类的 Format 函数是处理字符串格式化的强大工具。

2025-05-13 08:15:00 133

原创 如何用 OpenMP 轻松实现并行计算?三种常用指令详解

OpenMP(Open Multi-Processing)是一种基于编译器指令的**并行编程**接口,通过简单添加代码(如`#pragma`),自动将任务拆分为多线程并行执行,直接利用多核CPU性能。本文介绍三种最常用的指令,保证一看就会。

2025-05-12 08:15:00 622

原创 MFC开发中的消息拦截神器 PreTranslateMessage

`PreTranslateMessage` 是 MFC 中用来提前拦截并处理消息的虚函数,常用于键盘事件(如回车、ESC)的全局控制,避免消息进入默认流程。

2025-05-11 08:30:00 367

原创 快速掌握 C 语言 memset 函数

memset 函数就是快速将内存块的每个字节设为指定值,常用于初始化内存或清空缓冲区。

2025-05-10 08:30:00 553

原创 MFC对话框:模态和非模态的极简指南

一句话记住区别:模态对话框不关掉它,父窗口动不了;非模态对话框开着也能操作其他窗口。

2025-05-09 08:00:00 528

原创 轻松掌握C语言可变参数函数

C语言的可变参数就是函数能接受“不确定要传几个参数”,比如 `printf("结果:%d %s", 10, "OK")` 这种写法,靠 `<stdarg.h>` 里的方法按需读取参数。

2025-05-08 08:15:00 1225

原创 MFC中CWinApp注册表操作:快速读写配置数据

在MFC开发中,`CWinApp` 提供了一系列简便的函数用于注册表操作,这些函数特别适合存储和读取应用程序的配置数据。 `GetProfileString` 用于读取字符串类型的数据.`WriteProfileString` 用于写入字符串类型的数据。

2025-05-07 08:30:00 389

原创 C++文件指针操作:读写指针独立控制

C++将读指针和写指针分开管理,通过流对象控制。移动指针:seekg、seekp,获取位置指针:tellg、tellp。

2025-05-06 08:30:00 356

原创 C语言文件指针操作:一篇搞懂随机访问

C语言通过单一文件指针管理读写位置,所有操作共享同一个指针。fseek:移动指针;ftell:获取指针位置;rewind:重置指针到开头

2025-05-05 08:30:00 634

原创 进程通信之共享内存(Windows)

进程通信就是**不同进程之间互相传递数据和消息**,让它们能协同工作。我们这次重点说共享内存通信,直接在内存中开辟共享区域供多个进程访问。

2025-05-04 08:30:00 823

原创 简单搞懂 C++ 文件读写:`std::ofstream` 和 `std::ifstream`

文件读写是编程的必备技能。在 C++ 中,用 `std::ofstream` 写文件,`std::ifstream` 读文件。##

2025-05-03 08:30:00 1179

原创 浮点型数据的比较

浮点型数据由于在计算机中不是精确存储的,所以直接用 `==` 比较可能会得到不准确的结果。正确的做法是比较两个浮点数的差值是否在一个很小的容忍范围内。

2025-05-02 10:00:00 326

原创 轻松掌握fwrite函数

在C语言中,`fwrite` 是一个用于向文件中写入数据的函数。它允许你**将内存中的数据快速地写入到文件中**,非常高效。

2025-05-01 10:00:00 507

原创 C++ 快速读写INI文件(Windows版)

INI文件是一种简单常用的配置文件格式,通过节(Section)和键值对(Key-Value)管理配置。本文将介绍如何在C++中使用Windows API快速操作INI文件

2025-04-30 10:30:00 319

原创 快速掌握 C++ GetTickCount 测时间差,超简单!

GetTickCount() 是 Windows 自带的“计时器”,能快速测代码运行时间。

2025-04-29 20:13:24 400

原创 跨文件协作的关键字extern

简单来说,`extern` 就是 C/C++ 里一个关键字,用来声明变量或函数,告诉编译器 “这个东西存在,定义在别的地方”,它的核心作用就是**声明但不定义**,避免重复定义错误。

2025-04-28 19:01:32 357

原创 小白都能懂的 C++ 内存池介绍

内存池就是提前申请一大块内存,当程序需要内存时,直接从内存池里拿,用完了再还回来。

2025-04-27 19:22:11 555

空空如也

空空如也

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

TA关注的人

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