自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

pro文件,添加一行。

2024-08-05 08:41:40 152

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

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

2024-08-02 08:54:42 388

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

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

2024-07-07 23:55:35 543

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

引脚说明。

2024-05-30 12:26:11 392

原创 stm32学习-CubeIDE使用技巧

右键工程。

2024-05-29 21:21:22 399

原创 stm32学习-CubeIDE开发

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

2024-05-29 16:42:20 460

原创 3d打印问题总结

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

2024-05-26 17:15:08 217

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

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

2024-04-28 15:12:01 1408

原创 stm32学习-vs1053使用

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

2024-03-25 09:49:57 911

原创 多线程编程

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

2024-03-25 09:32:28 214

原创 指针和引用

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

2024-03-21 22:18:35 296

原创 进程间常用通信方式

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

2024-03-21 09:30:17 193

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

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

2024-03-19 10:18:34 560

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

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

2024-03-19 10:09:24 565

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

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

2024-03-18 14:45:04 990

原创 c++ 模板template

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

2024-03-15 22:10:45 385

原创 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 423 2

原创 c++ unordered_map使用

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

2024-03-11 15:21:03 532

原创 c++ vector使用

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

2024-03-11 14:24:15 404

原创 浅拷贝和深拷贝

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

2024-03-11 10:52:04 322

原创 线程和进程

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

2024-03-10 12:46:50 392

原创 互斥锁mutex

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

2024-03-10 12:10:10 387

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

1.同一定时器输出多路PWM波形都是一样的吗同一个定时器所以频率、相位一样,占空比由各自输出比较配置确定2.输出PWM错误1.端口输出模式要配置为复用推挽输出。2.检查定时器是否选择错误,通道端口号是否正确3.使用定时器高级定时器无法输出PWM高级定时器还要进行主输出使能, TIM_CtrlPWMOutputs。

2024-03-09 12:47:26 2330 1

原创 c/c++ sizeof使用

sizeof操作符返回操作数的。操作数可以是一个或括在括号内的。

2024-03-06 20:15:55 452 1

原创 c/c++ 指针

复杂指针定义涉及较多运算符,分析指针功能从变量名处起,根据运算符优先级结合,一步一步分析。首先根据变量最先进行运算的远算符确定该变量是指针,还是该变量存储的数据类型、返回值是指针。如果该变量是指针,只要把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。int p;//这是一个普通的整型变量int *p;//首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P是一个返回整型数据的指针int p[3];

2024-03-06 19:59:44 444

原创 c/c++ 数组

定义double类型大小为5的数组balance,并初始化前4个元素,剩余元素默认为0;定义double类型数组balance,数组大小由后面初始化数据确定。通过中括号“[]”加下标进行访问,下标要。访问第一个元素1000.0,使用下标0;初始化元素使用大括号‘{}’定义数组使用中括号‘[]’

2024-03-05 10:35:13 334

原创 ACM模式笔试

参考链接:https://blog.csdn.net/qq_39295220/article/details/116785551

2024-03-05 08:21:11 465 1

原创 c++虚函数

创建一个父类可以调用子类同名函数(先通过指针将一个。虚函数使用目的是可以通过。关键字修饰父类虚函数。

2024-03-04 18:58:03 739

原创 c++ stack使用

就如开进死胡同的车队,先进去的只能最后出来。之一,特点是先进后出。

2024-03-01 19:16:18 487

原创 stm32学习-FATFS文件系统

1.如何读取SD卡中指定音乐文件,如何知道那一部分是文件名,那一部分是文件内容文件系统自己分配文件名和文件内容间的映射关系2.文件卷名如何确定的(正点原子代码中如何知道SD卡是0:)自己通过宏定义确定的3.写入数据以后直接读取,无法读取到数据写入数据以后,光标指针指向最后,后面没有数据,通过f_lseek函数将光标移动到指定位置。

2024-02-26 10:47:21 413

原创 c++力扣刷题常用

作用:快速查找元素声明及初始化:使用,访问、修改、添加元素使用[],常用api。

2024-02-08 13:13:39 520

原创 c++命名空间

1.与引用第三方库区别个人理解本质一样的。选择使用命名空间还是将内容写入库文件中取决于你的需求和项目的规模。如果你只是在单个项目中组织代码,并且不需要与其他项目共享功能,那么使用命名空间可能更加简单和方便。而如果你希望将功能封装为独立的模块,并且可以被多个项目共享使用,那么将内容写入库文件中可能更适合。

2024-02-08 10:45:12 374

原创 c++中.和->的区别

申明结构体为变量时使用.运算符,申明结构体为。

2024-02-06 19:55:24 437

原创 stm32学习-8.spi读取W25Q64的ID信息

SPI的数据通信其实是数据交换,两个输入输出线和主从设备的数据寄存器构成一个回路,每一次数据位移出和移入通过边缘触发(移入移出分开进行的,完成一位数据交换需要两个边沿1.寻址不是还是要ss发送完整地址信息吗主机有多个ss线,用哪个从设备就控制对应ss口置低位2.没有从机应答,那从机数据没准备好就开始读,不是就冲突了吗有个状态标志位,可以先读这个数据再判断是否进行数据交换3.读取w25q64设备id失败4.oled屏无法正常显示。

2024-01-27 11:16:11 2955

原创 Simplify3D使用

调整模型位置,调整位置以后点击左侧居中会自动放置合适打印位置。导入模型(stl文件)

2024-01-26 16:25:23 1139 1

原创 嵌入式八股整理

1.extern关键字作用是应用不在同一文件中的变量或者函数。1.只有当被引用变量是全局变量时才有用;2.不能在使用extern引用同时重新赋值,原文件中不初始化的话,全局变量会被自动初始化为0;2.

2024-01-26 12:54:45 490 1

原创 stm32学习-7.2iic-oled天气展示

1.访问最近几天天气数据时,cJSON解析需要更多的堆栈空间。文件中栈空间改为0.x1000。2.数据解析失败解析数据要挨着get命令之后,否则串口接收数组中天气数据已经被覆盖了。3.内存溢出,多按几次以后,天气数据无法解析了cJSON数据解析以后,要通过cJSON_Delete(root);释放root = cJSON_Parse((const char*)USART2_RX_BUF);命令占用的空间。结果展示初始化成功,上位机可以接收到如下信息,并获取一次当前天气。通过按键切换显示。

2024-01-25 20:39:25 1089

原创 stm32学习记录-7.1iic驱动0.96寸oled

1.(IO口配置)

2024-01-25 10:25:49 2383

原创 git基本使用

上传到已有github项目,需要先通过git clone拉取原项目。

2024-01-22 15:29:03 379 1

原创 6.esp8266获取天气数据

开启透传模式(connect ip mode),AT指令失效。每次传输不用设置数据长度,每次要重新配置。配置流程,英文翻译问的gpt方便记忆。

2024-01-16 15:25:21 963 3

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

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

2024-03-09

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

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

2024-01-25

空空如也

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

TA关注的人

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