自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于esp32s3的自定义唤醒词识别-单元测试

在中修改:// 添加新的唤醒词// 你好小余// 小余小余// 36号// 开灯 (新增)然后在检测任务中添加对应的处理逻辑:printf("36号\n");printf("执行命令: 开灯\n");// 添加开灯的具体实现。

2025-06-28 10:16:30 810

原创 关于手柄摇杆的连线

由于时间实在是太久远了,我也忘记具体的连线了,只能提供当时的连线图片。

2024-12-12 16:32:59 278

原创 c++难点之指针与引用的区别

引用和指针的自增和自减运算意义不一样:引用用自加即引用的实体加一,指针自加即指针向后偏移一个类型的大小。在sizeof中的含义不同:引用的结果为类型的大小,而指针始终为地址空间,所占的字节个数固定。引用的本质是指针常量,其指向不可修改。而指针的本质是存储变量的地址,其指向可以改变。引用创建的同时必须初始化,而指针创建的时候不必初始化。引用使用的时候无需解引用,而指针需要解引用。指针有多级指针,引用是没有多级引用的。引用不能为空,而指针可以为空。

2024-11-02 16:46:29 150

原创 stm32疑难杂症之电压不够程序跑飞

电源文波大小一定要小,一般Ldo供电在3.3v在几个ma ,在stm32的vdda 和vssa引脚一定要接磁珠,各个电源硬件要接滤波电容。这时的现象是PC指针乱飞,有复位,死机,停在中断,时钟频率发生变化等现象。这时的现象是程序一直在中断中执行,回不到主函数。一般出现在中断嵌套中。定义的数组只有50个单元,但是程序运行的过程中,却给他赋给50+个单元。检查stm32的供电电压是否稳定,是否在正常工作电压范围内。3.中断或主函数中有死循环,导致是否没有及时喂看门狗。在开发阶段,如果出现程序不断重启的情况。

2024-10-31 19:30:49 761

原创 小白从零开始学c++之继承对象的内存空间

练习2:编写一个输出学生和教师数据的程序,学生数据有编号、姓名、年龄、学号和成绩;2、如果子类和父类存在同名函数,那么在子类中 父类的函数成员会被隐藏,默认调用的就是子类函数成员。1、子类调用成员函数的时候会检测该成员函数在子类中是否存在,如果存在就调用自己的, 如果不存在就调用 父类的(前提是父类要有这个函数)设计一个基类动物类(属性:体重,颜色,年龄 行为:跑,吃,睡),构造方法初始化属性。设计一个猫类继承动物类(属性:体重,颜色,年龄,品种 行为:跑吃睡,抓老鼠,叫)

2024-10-31 19:11:16 408

原创 小白从零开始学c++之类的继承

在派生类的构造函数的初始化列表中指定基类的构造函数构造函数调用顺序:基类--》派生类析构函数调用顺序:派生类--》基类练习2:设计一个人的类(基类),再分别设计一个学生类(子类) 和 教师类 (子类)单继承 人类人类:属性:姓名、年龄、性别方法:吃饭、睡觉学生类:属性:姓名、年龄、性别、分数、学号方法:吃饭、睡觉、打游戏、学习教师类:属性:姓名、年龄、性别、教龄、工作类别(教的是语文还是数学还是英语)方法:吃饭、睡觉、学习、备课。

2024-10-31 19:08:23 316

原创 小白从零开始学c++之类的组合

在C++中,类的组合是一种对象设计技术,它允许一个类(称为组合类或宿主类)在其成员变量中包含另一个类(称为成员类或组件类)的实例。也就是说,两个及以上相互独立的类能够放在一起,然后通过一个类就可以调用另一个类的对象从而调用另一个类的功能。三个独立的类,Computer有算数功能,Memory类具有存储功能,显示器类具有显示功能,当组合在一起后,对于Computer类就可以调用存储器类的存储功能。//在类中可以让另一个类 作为本类中的成员--与结构体相似。//点类 class Point {

2024-10-31 19:02:50 407

原创 基于stm32f403zet6游戏摇杆手柄

1. Cortex-M内核的STM32F407zet6为主控,使用DMA内存搬运, 双通道ADC外设,实现 ADC实时对两个摇杆的数据快速采集。5. 多个外部中断来实现按键的控制,并加了震动模块和蜂鸣器响应模拟攻击响应。6. 采用定时器实现看门狗功能,对蓝牙和摇杆的检测,实现休眠模式和未连接状态。2. 使用ADC采集数据通过USART串口,使用蓝牙模块实时进行数据通信。3. 使用HC-05蓝牙进行主从配置,可以支持板子与板子之间的无线通信。

2024-10-30 16:27:41 629 3

原创 小白从零开始学c++之指针和动态内存

/申请内存空间的时候直接初始化 数据类型 *变量名 = new 数据类型[数据元素个数];用来存储地址的变量,在C语言中,如果地址类型不一致,只会报警告,而在C++中会更为严格会直接报错,所以在C++中类型必须要一致。练习5:通过动态分配内存分配一个int数组,每个成员的值和他的下标一致,遍历数组并打印每个成员 的值。//直接报错 int *p = (int *)0x12345678;申请堆空间 new =====》 malloc+构造函数。

2024-10-27 16:15:04 301

原创 疑难杂症之Windows系统中文件io数据输入

在Windows系统中,文件的行结束符通常是\r\n(回车加换行),这是Windows文本文件的标准行结束符。然而,单独的\r(回车符)在某些情况下也可以导致换行效果,但这并不是标准行为,具体情况取决于应用程序如何解析这些字符。

2024-10-25 20:22:05 277

原创 重点之硬件IIC和软件IIC

硬件IIC是通过微控制器内部的专用硬件模块来实现IIC通信。这些硬件模块通常包括IIC控制器和相关的寄存器,可以自动处理IIC协议的细节。

2024-10-25 16:20:33 637

原创 超级重点之关键字 volatile 有什么含意

一个定义为 volatile 的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。假设被面试者正确地回答了这是问题(嗯,怀疑这否会是这样),我将稍微深究一下,看一下这家伙是不是直正懂得 volatile 完全的重要性。由于*ptr 的值可能被意想不到地该变,因此 a 和 b 可能是不同的。一个例子是当一个中服务子程序修该一个指向一个 buffer 的指针时。

2024-10-25 16:13:05 218

原创 小白从零开始学c++之拷贝构造函数

当类的数据成员中 有指针成员的时候,需要申请内存空间。

2024-10-23 09:04:31 398

原创 小白从零开始学c++之指针和动态内存

用来存储地址的变量,在C语言中,如果地址类型不一致,只会报警告,而在C++中会更为严格会直接报错,所以在C++中类型必须要一致。比如:在C语言中//左边是int*类型,右边是int类型,类型不一致会警告在C++中会直接报错必须强转为相同类型//直接报错//必须将右边强转为相同的数据类型return 0;

2024-10-23 08:57:34 338

原创 小白从零开始学c++之this指针

/底层会自动转换为BMP(BMP*this,string fileName)这样,左侧的 fileName 跟右侧的 fileName 就不会混淆了。

2024-10-23 08:51:23 154

原创 小白从零开始学c++之析构函数

函数名与类名相同在函数名前面添加~, 函数没有返回值,没有参数,当对象销毁的时候系统自动调用(可以在析构函数中释放成员空间)。析构函数专注于对象销毁期间的解构工作,具体来讲就是对对象所占据的各种资源的善后处理。类名(数据类型 参数1,数据类型 参数2)~类名() { //存放资源释放的语句 }{ //存放一些初始化的语句 }数据类型 成员变量1;数据类型 成员变量2;

2024-10-22 11:26:45 200

原创 小白从零开始学c++之构造函数

函数名与类名相同,函数没有返回值, 函数不需要用户调用,在创建对象的时候自动调用。构造函数专注于在对象创建的初期的构造工作,具体来讲就是对对象各个成员的初始化。

2024-10-22 11:24:05 481

原创 小白从零开始学c++之类的内存空间+空类

如果定义对空的类或者结构体取sizeof()的值为0,那么该空的类或结构体实例化出很多实例时,在内存地址上就不能区分该类实例化出的实例。所以,为了实现每个实例在内存中都有一个独一无二的地址,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址,所以空类所占的内存大小是1个字节。通俗一点讲 就是 用空类实例化一个对象,这个对象的实体要存在内存中,既然要存在内存中那么就需要有个地址能访问他,为了避免多个实例对象的地址 问题,所以才有了者一个字节的空间。

2024-10-22 09:49:42 153

原创 小白从零开始学c++之函数重载

在实际开发中,有时候我们需要实现几个功能类似的函数,只是有些细节不同。例如希望交换两个变量的值,这两个变量有多种类型,可以是 int、float、char、bool 等,我们需要通过参数把变量的地址传入函数内部。在C语言中,程序员往往需要分别设计出三个不同名的函数,其函数原型与下面类似://交换 int 变量的值//交换 float 变量的值//交换 char 变量的值//交换 bool 变量的值那么在C++中,有没有一种方法,允许多个函数拥有相同的名字,只要它们的参数列表不同就可以呢。

2024-10-21 10:44:04 784

原创 小白从零开始学c++之类与对象

在日常生活或编程中,简单的问题可以用面向过程的思路来解决,直接有效,但是当问题的规模变得更大时,用面向过程的思想是远远不够的。面向对象是一种以“对象”为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个对象在整个解决问题的步骤中的属性和行为。对象的载体:人、电脑、风扇、桌子、游戏、旅游、棋盘系统..... 对象的描述: 特征/属性--变量--数据成员 功能/行为--函数--函数成员。//访问错误,因为类中默认的权限是私有的,不能在类的外部访问私有成员。

2024-10-21 10:30:20 757

原创 STM32面试问题之寄存器位操作

给定一个整型变量 a,写两段代码, 第一个设置 a 的 bit 3,第二个清除 a 的 bit 3。在以上两个操作中,要保持其它位不变。我们需要创建一个掩码,该掩码的第 3 位为 1,其他位为 0。我们需要创建一个掩码,该掩码的第 3 位为 0,其他位为 1。的第 3 位(从右往左数,最低位为第 0 位),可以使用按位或(的第 3 位被设置为 1,其他位保持不变。的第 3 位被清除为 0,其他位保持不变。的第 3 位,可以使用按位与(:将 1 左移 3 位,得到。:将 1 左移 3 位,得到。

2024-10-16 09:30:18 193

原创 STM32重点之协议(IIC、SPI、USB、UART、CAN)

IIC通信由两根线构成,分别是:信号线(SDA)时钟线(SCL)

2024-10-15 20:59:50 1157 1

原创 STM32面试问题之GPIO的8种输入输出

上拉(Pull-up)是指将一个电阻连接到电源的正极(VCC),另一端连接到电路的节点上。这样就可以当电路没有其它连接时,将节点拉至高电平(无限接近VCC(一般为3.3v))。下拉(Pull-Down)同理,是指将一个电阻连接到电源的负极(GND),另一端连接到电路的节点上。这样就可以当电路没有其它连接时,将节点拉至低电平(无限接近GND(一般为0v))。二者的共同作用是避免电路节点出现不确定性的“悬浮”状态,这种状态可能导致电路行为不可预测。

2024-10-15 11:22:40 653

原创 STM32面试问题之什么是中断

stm32当中的仲裁单元为NVIC,仲裁单元会根据优先级去通知cpu,cpu再进行打断和跳转到指定的位置运行代码,这个过程就称之为中断。在cpu处理完异常或者事件之后,会回到被打断暂停的任务中继续运行。中断能有效减轻cpu的负担,提高程序运行效率,提高了系统的实时性。,当异常或者事件触发时,此动作会被检测装置检测到,然后通过。的过程是用户自己提前设定好的。中断一般是mcu中常见的。

2024-10-15 10:47:54 144

原创 小白从零开始学c++之引用

值传递书写方式简单,但是不能修改变量所在内存空间的数据;地址传递能够修改变量所在内存空间的数据,但是需要复杂的解引用写法,而且使用过程中可能出现问题(空指针,不合法内存),导致程序不安全。//值传递a = a+b;b = a-b;a = a-b;//地址传递*pa = *pb;*pb = temp;int main()//值传递//地址传递。

2024-10-15 10:22:27 453

原创 小白从零开始学c++之命名空间

在实际的开发项目的过程中,我们通常不会独立开发,而是多人合作开发。那么就不可避免的出现变量或函数的命名冲突,如何解决变量或函数重名而导致的问题呢?此代码编译会报错。解决方法:使用命名空间区分这两个全局变量。

2024-10-15 10:01:04 136

原创 小白从零开始学c++之标准输入输出

在输出之后需要换行,可以使用"\n"的方式,也可以使用std::endl的方式。例子: std::coutval>>str;连续输入只需要多次>>

2024-10-08 20:48:32 300

空空如也

空空如也

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

TA关注的人

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