自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 QT中的trimmed() 方法(1)

是 Qt 框架 中 类提供的一个方法,用于 去除字符串首尾的空白字符(whitespace characters)。它的作用类似于标准 C++ 中的 的 操作,但专为 Qt 的字符串设计。移除字符串开头和结尾的所有空白字符,包括:空格 ()制表符 ()换行符 (、)其他 Unicode 空白字符(如全角空格)不会修改字符串内部的空白字符。返回一个新的 ,是原字符串去除首尾空白后的副本。原字符串不会被修改(因为 是隐式共享的)。3. 示例4. 对比其他相似方法方法作用是

2025-08-08 13:55:33 147

原创 用 Enigma Virtual Box 把 Qt 程序压成单文件 EXE——从编译、收集依赖到一键封包

关键词:Qt、windeployqt、Enigma Virtual Box、单文件、绿色软件。

2025-08-07 15:15:42 450

原创 C++中的默认函数学习

在函数声明时,给某些参数预先设定一个默认值。调用函数时,如果省略这些参数,编译器会自动使用默认值。

2025-08-06 11:22:30 230

原创 学习的智能硬件QT教程笔记——(4)信号与槽学习

右键点击转到槽,在里面选择合适的信号,这里选择点击,即点击控件执行函数,(所执行的函数需要写在下图中的函数体中)。此时代码中会自动在设置的.ui文件对应的.cpp和.h文件中添加相应的槽函数。connect();// 连接信号与槽 (谁发出信号 发出什么信号(宏) 谁处理信号 怎么处理信号)链接:https://pan.quark.cn/s/e69d78830a0d?启动新进程,需在.h头文件中包含相应的类( #include )打开「夸克APP」即可获取。

2025-08-04 14:34:19 235

原创 为什么要烧录固件?——从生产到运维的全流程解析

烧录固件(Firmware)是嵌入式系统和电子设备开发、生产、维护中的关键步骤,其核心目的是。STM32单片机的固件决定了它是控制电机,还是处理CAN总线数据。

2025-07-30 11:26:18 471

原创 Bootloader简介(自学)

Bootloader(引导加载程序)在汽车电子系统中扮演着**“唤醒大脑” + “软件快递员”**的角色。

2025-07-29 19:42:48 410

原创 C++ 结构体struct学习

元素描述关键作用是否必须?成员变量结构体存储的数据项描述对象的状态核心,通常有成员函数操作成员变量的函数封装操作、实现对象行为常见,推荐使用构造函数特殊函数,对象创建时自动调用初始化对象状态强烈推荐有(至少默认)析构函数特殊函数,对象销毁时自动调用清理资源(内存、文件等)需要管理资源时必须访问说明符publicprivateprotected控制访问权限,实现封装良好设计推荐使用静态成员static变量/函数,属于结构体本身而非实例共享数据、提供类级别工具函数按需使用嵌套类型。

2025-07-22 15:36:46 602

原创 学习的智能硬件QT教程笔记(3)——QT的开发工具 QT Creater

创建项目见视频,基本都是点下一步,其中注意要创建ui。

2025-07-22 15:25:37 881

原创 (qt代码解释1)代码解释:private: Ui::Widget *ui

的私有指针,用于在代码中操作你在设计器里拖出来的控件。,它包含了你在设计器里添加的所有控件的指针(例如。在这个头文件里,定义了一个命名空间。创建一个界面文件(如。

2025-07-22 14:07:08 152

原创 学习的智能硬件QT教程笔记(2)——QT的编译

​ 在智能硬件开发中,QT作为一款强大的跨平台C++图形用户界面应用程序框架,其重要性不言而喻。

2025-07-22 11:26:02 684

原创 Keil运行报错 :L6123E

问题。解决方法是,删除.c或.cpp中include的.c文件。总结就是遇到的问题是典型的。

2025-07-21 18:02:40 447

原创 # 条件编译`#ifdef`、`#ifndef`等补充

/ 编译时定义宏:g++ -DUSE_OPTIMIZED_VERSION=1 main.cpp// 优化版本#else// 基础版本#endif。

2025-07-21 10:22:27 381

原创 C++ 中的 `#ifndef` 和 `#endif` 详解 (c++学习 )

C++ 中的 和 详解在 C++ 中, 和 是预处理指令,用于条件编译。它们共同构成了 C/C++ 程序中防止重复包含头文件的核心机制。工作原理首次包含头文件:后续包含头文件:避免重复定义错误:提高编译效率:防止循环包含:宏命名的通用规范命名格式:(全大写)示例: → → → 其他常见用法1. 功能开关编译时可通过 禁用日志功能3. 调试模式控制与 的比较特性/标准支持C/C++ 标准编译器扩展可靠性10

2025-07-19 17:59:55 270

原创 c++结构体语法

在 C++ 中,结构体(struct)是一种用户自定义的数据类型,用于将不同类型的数据组合成一个单一的类型。

2025-07-19 15:13:36 628

原创 Keil 中代码缩进规则总结.md

Keil μVision IDE中代码缩进主要依赖手动控制,建议采用4空格缩进(而非Tab)以保持一致性。遵循层级缩进原则,函数体、条件语句、循环等代码块需增加一级缩进。推荐使用K&R大括号风格({不换行)。通过Edit→Configuration设置Tab为4空格并勾选"Insert spaces for tabs"。避免混用空格和Tab,复杂表达式可手动对齐。全项目应保持统一缩进风格,必要时可用Astyle等工具辅助格式化。

2025-07-19 14:58:55 349

原创 &在C++中的语法格式

C++中&符号有三种主要用法,各有严格语法规范:1) 取地址运算符&var(无空格);2) 引用声明Type& ref(类型后无空格);3) 位与运算a & b(前后加空格)。Keil等嵌入式环境特别强调区分引用声明和位与运算的格式差异,避免混淆。最佳实践要求取地址和引用声明时&紧贴标识符,位与运算保留空格,项目内保持风格统一,必要时用括号明确优先级。错误格式如& var或Type & ref会导致代码规范问题。

2025-07-19 14:34:12 408

原创 高效地学习和掌握 Qt Creator

放在可执行文件同级目录,或通过。:分析头文件包含关系,避免冗余。

2025-07-17 20:28:46 624

原创 C++ 中,运算符 .、::、: 和 -> 的区别

C++中主要运算符的区别:.用于对象实例访问成员(如obj.member);::用于作用域解析,访问命名空间或类成员(如Class::staticVar);:用于初始化列表、继承和标签等语法;->用于指针访问成员(如ptr->member)。关键区别在于:.操作对象实例,::操作作用域,:是语法标记,->操作对象指针。ptr->member等价于(*ptr).member,而静态成员需用::访问。

2025-07-17 20:21:09 271

原创 (一)QCustomPlot 控件---QT Creater控件学习(自学)

中正确声明 QCustomPlot 的头文件。是 Qt 框架中一个功能强大的。

2025-07-17 19:47:58 1019

原创 面向过程和面向对象编程(自学)

摘要: 面向过程(POP)和面向对象(OOP)是两种编程范式。POP关注“步骤”,将任务分解为线性执行的函数(如菜谱步骤),适合简单逻辑。OOP关注“对象协作”,将数据和操作封装为独立对象(如厨师、锅具等),通过交互完成任务,支持封装、继承、多态,更适合复杂系统。关键区别在于:POP强调“怎么做”(函数流程),OOP强调“谁来做”(对象职责)。POP直接高效但难维护,OOP结构清晰但稍复杂。现代开发以OOP为主,但POP仍用于脚本或性能敏感场景。理解两者差异对编程思维至关重要。

2025-07-17 19:45:16 794

原创 快速理解和学习现有Qt Creator 项目

快速理解和学习现有Qt Creator 项目

2025-07-17 19:40:44 606

原创 Qt Creator 中开发一个软件的完整流程和文件层级结构

本文介绍了在Qt Creator中开发软件的基本流程和文件结构。开发步骤包括:创建项目(选择模板、设置路径和模块)、设计界面(拖拽控件、修改属性)、编写代码(声明变量、实现功能)、编译运行和调试。项目文件结构主要包含Headers、Sources、Forms、Resources文件夹和.pro配置文件。文章还详细说明了关键文件的作用,如.pro项目配置、main.cpp程序入口和UI文件关联方式,并提供了新手常见问题的解决方案(如控件查找、程序崩溃处理等)和学习建议(从基础功能入手、查阅文档)。

2025-07-17 19:38:40 1246

原创 嵌软——操作系统

在嵌入式系统领域的面试中,关于操作系统的问题通常涉及操作系统的理论知识、实际应用以及与特定硬件平台的集成。

2024-09-28 11:30:42 1048

原创 git常用指令

Git是一个分布式版本控制系统,它帮助开发者跟踪和管理代码变更。这些命令覆盖了Git版本控制的大多数常见操作。掌握这些命令对于日常的版本控制工作非常有帮助。

2024-09-28 11:22:01 389

原创 嵌入式面试———C常见问题

数组是在创建时大小就固定的数据结构。例如,定义一个整数数组:c定义和使用在C语言中,数组是一种基本的数据结构,用于存储固定大小的相同类型的元素序列。数组的声明包括指定元素的类型和数组的长度。特点固定大小:数组的大小在声明时确定,并且不能改变。零索引:数组的索引从0开始。连续内存:数组元素在内存中是连续存储的。相同类型:数组中的所有元素必须是相同的数据类型。可以是多维的:可以定义多维数组。malloc()malloc()联合体(union):不同的数据共享同一块内存空间。结构体(

2024-09-28 11:21:18 1499

原创 嵌入式面试——常见排序

冒泡排序是一种简单的排序算法,它重复地遍历待排序的列表,比较每对相邻元素,如果它们的顺序错误就把它们交换过来。遍历列表的工作是重复进行的,直到没有再需要交换的元素为止,这意味着列表已经排序完成。选择排序是一种简单直观的排序算法。它的工作原理是每次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。快速排序是一种分而治之的排序算法,它通过一个轴点将数据分为两部分,对左右两部分递归进行快速排序。在实际应用中,选择哪种排序算法取决于数据的特性和算法的性能要求。

2024-09-28 11:19:54 657

原创 嵌入式面试--C/C++

面试救急

2024-09-28 11:09:57 1020

原创 嵌入式面试——操作系统(gpt版本)

在嵌入式系统领域的面试中,关于操作系统的问题通常涉及操作系统的理论知识、实际应用以及与特定硬件平台的集成。

2024-09-17 14:14:51 1496

原创 嵌入式系统的面试——低功耗设计

此外,我会使用状态机和事件驱动逻辑来优化时钟门控的实现,并在设计完成后进行彻底的测试和验证,以确保时钟门控不会影响系统的性能和可靠性。回答: 为了减少无线通信中的功耗,我会采取多种策略,包括降低数据传输速率、使用省电模式、优化数据包结构、数据压缩、调度传输、使用高效的调制编码方案、动态功率控制以及设计合理的睡眠和唤醒策略。回答: 时钟门控是一种在微控制器中广泛使用的低功耗技术,它通过物理上阻断不需要的时钟信号来禁用特定模块的工作,从而减少这些模块的功耗。此外,它还可以降低模块的漏电流,进一步提高能效。

2024-09-17 14:13:52 2661

原创 嵌入式面试———进程与线程

嵌入式面试题---进程与线程(自学版)

2024-09-16 22:23:31 534 1

原创 嵌入式面试--通信协议问题回答

嵌入式面试提问问题总结--通信协议

2024-09-16 22:02:04 1399 1

空空如也

空空如也

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

TA关注的人

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