自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 word插入网页图片自动更新

2025-11-09 22:00:37 91

原创 esp32学习-按键操作

1.中断回调函数中IRAM_ATTR作用RAM_ATTR 是 ESP-IDF 中的一个函数属性宏,全称是 “Instruction RAM Attribute”,用于告诉编译器 将该函数放入 ESP32 的 IRAM(指令 RAM)中执行,而不是默认的 flash。ESP32 正常情况下大多数代码是从 Flash(外部 SPI Flash)中运行的。

2025-11-09 00:17:31 857

原创 ESP32学习-I2C(IIC)通信详解与实践

是一种由 Philips(飞利浦)发明的串行通信协议,用于主控与多个从设备之间的数据通信。特性说明通信方式串行通信(同步)连接方式只需两根信号线:SCL(时钟)和 SDA(数据)主从结构一个主控(如 ESP32)控制多个从设备唯一地址每个从设备有唯一的 7 位或 10 位地址半双工通信数据是双向的,但一次只能一个方向传输的作用是真正启用 I2C 控制器,它必须在之后调用,且主机模式下接收/发送缓冲区长度必须设为 0。

2025-08-03 23:07:38 1452

原创 ESP32开发问题汇总

1.官方example项目打开以后,官方函数定义无法跳转。

2025-08-03 22:58:31 273

原创 ESP32学习-1.第一个程序helloworld

ESP32学习-1.第一个程序helloworld2.1芯片配置使用vscode打开官方示例代码选择芯片及程序烧录方式配置芯片参数选择烧录程序端口号编译程序

2025-07-29 22:54:40 325

原创 ESP32学习-按键中断

3.创建消息队列数据输入线程任务。5.添加中断处理函数。

2025-07-28 23:34:29 408

原创 ESP32学习-FreeRTOS队列使用指南与实战

FreeRTOS 的缓存队列(Queue)是一种用于任务间通信的机制,允许任务或中断服务例程(ISR)以 FIFO(先进先出)的方式发送和接收数据。缓存队列可以传输固定大小的数据块,支持多任务并发操作,并通过阻塞机制实现同步。

2025-07-27 18:40:59 587

原创 c++学习-类中类成员变量的创建和释放顺序2-资源new出来的对象未被手动delete

析构时只会静态存储区资源都会被正常释放,堆区资源不会被释放。

2025-07-10 00:03:46 251

原创 c++学习-类中类成员变量的创建和释放顺序1-进程正常结束释放资源

C++ 中广泛应用 RAII(Resource Acquisition Is Initialization)模式,资源(如内存、句柄)在成员构造时获取,析构时释放。(类成员变量初始化以后才可以在构造函数中正常使用),保证构造过程中不会调用空、未初始化的资源。2.先创建类成员变量(按照声明顺序创建),再执行构造函数。先执行析构函数,再释放类成员变量。1.先执行基类构造函数,再构造子类。先释放子类,再执行父类析构函数。1.为什么要设计成先构造类成员变量,再执行构造函数?

2025-07-05 00:13:11 274

原创 c++学习-多态

1.声明虚函数以后类中会自动生成一个指针类成员变量,指向虚函数表。2.3.

2025-06-17 22:46:39 308

原创 c++学习-this指针

1.this指针不是一个类成员变量,类成员函数中使用的this指针是编译器隐式传递的this参数。

2025-06-07 23:54:08 661

原创 c++类和对象-继承

作用:提高代码复用率,多个子类和父类有相同之处,又有自己各自的特点。例如基类人有四肢、会走路、说话,不同子类中国人是黑头发,说汉语,欧洲人黄头发,说英语。

2025-06-03 00:02:46 370

原创 c++ delete实现动作

不一定清除内存中的数值);2.不会将指向该内存的指针设置为nullptr空指针,对应指针会变成悬空指针,直接使用会出现未知行为。delete动作:1.清除指向的地址(操作系统。new申请的资源需要delete释放。总结:delete释放资源之后需要将。

2025-06-02 09:45:52 312

原创 c++学习-左值和右值

1.左值:具有持久内存地址的对象,可以进行取地址操作。2.右值:没有内存地址的值。

2025-05-23 22:52:53 105

原创 gcc/g++常用参数

gcc用于编译c语言,g++用于编译c++源代码生成可执行文件过程,预处理-编译-汇编-链接。

2025-05-17 21:15:03 355

原创 c++开发-vscode环境配置

基于CMake的VSCode下的 C/C++环境搭建_Window篇_哔哩哔哩_bilibili

2025-05-17 20:53:13 165

原创 ESP32学习-vscode+idf环境快捷操作

选中变量,右键选择。或则ctrl+鼠标左键。

2025-02-06 23:07:09 212

原创 ESP32学习-1.环境安装vscode+idf

解决方法:重装setuptools包。

2025-02-06 23:03:09 816

原创 QChart曲线绘制-1.普通曲线

pro文件,添加一行。

2024-08-05 08:41:40 251

原创 QT上位机开发-信号与槽

信号就是单片机中的中断触发条件(如鼠标点击等事件),槽就是单片机中的中断函数(信号触发以后要干什么)。

2024-08-02 08:54:42 470

原创 新人入职git使用——1git获得远程仓库代码

1.第一步设置账号邮箱只需要设置一次就行2.

2024-07-07 23:55:35 782

原创 stm32学习-310直流减速电机

引脚说明。

2024-05-30 12:26:11 859 1

原创 stm32学习-CubeIDE使用技巧

右键工程。

2024-05-29 21:21:22 536

原创 stm32学习-CubeIDE开发

参考stm32开发常用开发环境(代码编写软件)MDK5:通用所有的ARM芯片,收费、界面功能原始CubeMx+MDK5:CubeMX图形化配置外设,生成CubeIDE(集成了CubeMX):st自家图形化编程,简单直观,生成只支持ST自家的芯片。

2024-05-29 16:42:20 675

原创 3d打印问题总结

解决方案:温度过高,PLA材料材料喷嘴温度一般设置为200度比较合适。

2024-05-26 17:15:08 385

原创 AxMath公式编号章节号修改

1.选择插入自定义章节分隔符。3.章节号修改为设定值。

2024-04-28 15:12:01 4081 1

原创 stm32学习-vs1053使用

1.不能一次性从sd卡中读取所有音频数据通过read每次从sd卡读取4096个字节,没次向vs1053发送32个字节,处理完以后再进行下一次读取,知道从sd读取数据长度小于4096说明一首歌曲文件读取完成或曲度错误。read函数读取文件可以指定每次读取数据长度,下次接着读取。2.单线程如何实现音乐播放同时按键检测。

2024-03-25 09:49:57 1802

原创 多线程编程

1.背景知识相比于多进程效率高,调度以线程为单位,分配内存以进程为单位。防止CPU一直被占用防止同一资源被多线程抢用使用互斥量:和一般变量的区别就是,通过上锁函数检测到锁被其他线程使用时时线程会。mutex状态为0表示共享资源正在被其他线程/进程访问,状态为1表示没有被线程/进程访问。

2024-03-25 09:32:28 257

原创 指针和引用

定义和性质:多级:初始化:指向NULL:改变所指对象:sizeof运算结果:

2024-03-21 22:18:35 328

原创 进程间常用通信方式

使用流程:创建/获取共享内存-附加共享内存(将内存链接进当前进程)-使用内存-分离共享内存-剥离共享内存。5.sockets套接字。

2024-03-21 09:30:17 295

原创 程序运行时,常见存储区分类及作用

作用 栈区(stack) 存放函数的形参和局部变量(auto类型),由编译器自动分配和释放。 生命周期与函数调用相关,函数结束时自动回收。 栈区的大小有限,通常较小。 例如,函数参数和局部变量。 堆区(heap) 由程序员手动申请和释放,需要注意避免内存泄漏。 存放动态分配的内存,如使用malloc或new。 生命周期由程序员控制,程序结束时可能由操作系统回收。 例如,动态分配的对象、数组等。

2024-03-19 10:18:34 659

原创 c++ 全局变量、局部变量、静态全局变量、静态局部变量

参考链接:C++ 变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为 6 种:,,,,。函数执行时存在。

2024-03-19 10:09:24 604

原创 嵌入式学习-网络编程

1.端口、程序、进程关系,多进程监听同一端口(多个网络应用进程监听80端口)如何区分是那个进程的数据2.IP地址是如何被分配的3.如何解决僵尸进程问题添加语句signal(SIGCHLD,SIG_IGN)

2024-03-18 14:45:04 1143

原创 c++ 模板template

如下函数就只能接收int类型数据输入,并返回int类型,想处理string类型或者其他类型只能重新定义一个函数。使用template进行定义,可以同时适用于多种数据类型。有多个模板参数是,增加typename个数就行了。作用:通过template定义。

2024-03-15 22:10:45 424

原创 c++ 字符串常用api

1.截取substr(index,size),从下标index处截取长为size的内容。5.字符串分割,使用stringstream API,需要添加sstream类。6.查找子字符串find(),返回第一次出现的位置,没有会返回一个无穷大值。4.字符串长度size(),不包含最后的‘\0’字符。2.末尾添加字符push_back。3.字符串拼接,直接使用+运算。

2024-03-12 15:38:05 568 2

原创 c++ unordered_map使用

直接初始化和二维数组初始化一样,使用大括号{},内层键值对也使用大括号{},使用逗号隔开。

2024-03-11 15:21:03 760

原创 c++ vector使用

动态数组,使用方法与python数组类似。

2024-03-11 14:24:15 454

原创 浅拷贝和深拷贝

(改变一个变量的值,另一个变量也会改变),可以理解为就是创建了一个应用。浅拷贝只复制指向某个对象的指针,不复制对象的数据,新旧对象。深拷贝会复制原对象的额所有元素,

2024-03-11 10:52:04 359

原创 线程和进程

影响关系:一个进程崩溃后,在保护模式下不会对其他进程产生影响(一个工地烂尾不影响其他工地),但是一个线程崩溃整个进程都死掉(建房子任意一个环节出问题,工地就做不下去了)。一个进程至少有一个线程,一个进程可以运行多个线程,多个线程可共享数据。内存分配:同一进程的线程共享本进程的地址空间和资源(同一工地的公共材料),而进程之间的地址空间和资源是相互独立的(两个工地老板都不同)简单理解进程是为了实现一个大的任务(修一栋大房子),每一个线程负责分工实现其中的各个部分(打灰,粉刷,通水,通电等等)

2024-03-10 12:46:50 433

原创 互斥锁mutex

避免多线程/进程对共享资源的访问。状态为0表示共享资源正在被其他线程/进程访问,状态为1表示没有被线程/进程访问。

2024-03-10 12:10:10 441

stm32学习记录-5.2PWM输出控制sg90舵机角度

stm32学习记录-5.2PWM输出控制sg90舵机角度

2024-03-09

git基本使用,上传本地文件到git,更新远程厂库等

git基本使用,上传本地文件到git,更新远程厂库等

2024-01-25

空空如也

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

TA关注的人

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