自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 问答 (73)
  • 收藏
  • 关注

原创 Arduino平衡小车

例如,它们可以用于测量机器人、CNC机床、印刷机、自动控制门等运动物体的位置和方向,监测供应链上的输送带和传送机、工厂中的马达系统等物体的速度,以及测量风力发电机的转子、摩天轮、汽车安全气囊、船舶方向控制等被旋转对象的转角。电机编码器的工作原理可以分为几个主要步骤:光线通过编码盘(其上有透光和遮光条纹),光学传感器将时通时断的光信号转换成电信号,这些电信号经过电子信号处理器的处理变成一系列方波脉冲信号,最后电子信号处理器会对这些方波脉冲信号进行解码和计算,从而得到电机的旋转位置、速度以及方向等信息。

2024-04-25 18:56:08 506

原创 Opencv入门---绘图篇

是 OpenCV 库中用于在图像上绘制直线的函数。它可以在图像上绘制一条直线,指定直线的起始点和结束点。是 OpenCV 中用于在图像上绘制椭圆形的函数。函数用于在任何图像上绘制圆。函数用于在任何图像上绘制矩形,

2024-03-19 17:09:38 1676

原创 C++面试题

C++ 中的源对象(source object)是指在进行对象复制或对象移动操作时,被复制或移动的对象。在 C++ 中,对象的复制和移动操作是通过拷贝构造函数和移动构造函数来完成的。当使用拷贝构造函数进行对象复制时,源对象的内容会被复制到新创建的对象中。拷贝构造函数通常使用const引用参数来引用源对象,以确保源对象的内容不会被修改。public:// 复制源对象的内容private:// 使用拷贝构造函数复制对象obj1是源对象,obj2是通过拷贝构造函数创建的新对象,它是obj1。

2024-03-15 15:44:40 857

原创 C++面试题和笔试题(五)-手撕代码篇

题目要求定义一个函数来完成转换任务,这涉及到函数的定义、参数传递、返回值处理等方面。

2024-03-15 15:07:35 920

原创 C++面试题和笔试题(五)

一、输出的结果是(102)Base:定义了一个整数成员i和两个虚函数func1和func2。func1函数首先将i乘以10,然后调用func2。func2在基类中的实现是将i加1。Child:从Base类公开继承。它重写了func1和func2函数。在Child中,func1首先将i乘以100,然后调用func2。func2在派生类中的实现是将i加2。main:创建了一个指向Child对象的Base指针pb。通过pb调用func1函数。由于多态性,将调用Child类中的func1。最后,输出i。

2024-03-13 20:36:18 1113

原创 C++面试题和笔试题(四)

模板类是C++中实现泛型编程的基础工具,它允许程序员定义与类型无关的代码,从而增加代码的复用性。

2024-03-13 15:53:54 767

原创 C++面试题和笔试题(三)

一、在C++中,局部变量、静态局部变量、全局 变量、静态全局变量各自的作用域和生命周期是怎样的?局部变量:局部变量是在函数内部声明的变量,其作用域仅限于该函数内部。自己的理解:局部变量就像你在家里的小玩具,只能在家里(函数里面)玩。当你离开家(函数结束)的时候,玩具(局部变量)就不能玩了,下次再回家的时候,那个玩具可能就不是上次的那个了。 静态局部变量:静态局部变量是在函数内部使用static关键字声明的变量。与局部变量不同,静态局部变量的作用域仍然仅限于函数内部,但其生命周期从程序开始执行

2024-03-10 09:37:08 422

原创 C++面试题和笔试题(二)

STL 是指 C++ 标准模板库(Standard Template Library),它是一组用于通用编程的类和算法的集合。STL 提供了一系列高效、灵活和可重用的容器、迭代器、算法和函数,用于管理和操作各种数据结构,如链表、队列、堆栈、映射、集合等。vector(向量):动态数组容器,可以存储一系列相同类型的元素,并提供快速随机访问。list(列表):双向链表容器,可以存储一系列相同类型的元素,并提供高效的插入和删除操作。deque(双端队列):双向队列容器,可以在两端进行快速插入和删除操作。

2024-03-09 11:42:03 828

原创 C++面试题和笔试题(一)

C++中的指针是一个变量,其值为另一个变量的地址,即内存位置的地址。指针变量简称指针,它专用于存放变量在内存中的起始地址。指针是C/C++中的精髓所在,其特殊性在于它存放的是内存地址。在C++中,每定义一个变量,系统就会给变量分配一块内存,且内存是有地址的。指针变量通过存储这些地址,使得我们可以间接地访问和操作这些内存中的数据。因此,指针是实现动态内存分配、函数调用、数据结构等高级功能的重要工具。数据类型 *变量名。例如,int *p;就声明了一个指向整数的指针p。官方解释。

2024-03-09 10:11:19 905

原创 C++运算符重载

官方定义:运算符重载的实质是函数重载。这意味着你可以为同一个运算符定义多个版本,只要它们的参数列表不同。自己的理解:想象一下,你有一个遥控车,你可以用一个按钮让它前进。这个按钮就像一个运算符,它告诉遥控车要做什么。现在,如果你有一个特殊的遥控车,你可以自定义这个按钮的功能,让它不只是前进,还可以播放音乐或者打开车灯。这就是“运算符重载”的意思——你可以改变一个运算符的默认行为,让它做你想让它做的事情。本质上是运算符的复用。

2024-03-06 16:00:31 345

原创 基于stm32的小车毕业设计

图1.1 硬件系统设计。

2024-01-20 10:29:30 2605

原创 红外传感器

红外传感器是一种能够接收和感应红外线信号的电子器件,主要通过变化光强来检测目标物体的存在。由于黑色具有较强的吸光能力,所以红外传感器接收管接收到的红外光比较低。上图是红外传感器电路原理草图,光敏二极管接收到的光作为右边NPN三极管的基极,由于NPN型半导体的基极有电流流过起到放大作用作为模拟信号经过LM393比较器进行比较最终转换为数字信号。

2024-01-17 11:33:27 901

原创 STM32面试体验和题目

结构体(struct)是一种自定义的数据类型,它允许您将多个不同类型的数据组合在一起。总的来说,我对结构体的定义,在结构体中定义指针和对C语言一些关键字不是很了解。硬件层面我不是很了解,目前只了解三极管,和一些按键的高低电平,一些斩波电路不是很熟悉。第2 个问题里面的我的回答很凌乱,我只回答了stm32f103的最小系统板的组成部分和软件层面的东西至于其他的,比如通信方面和传感器方面我没有答。声明一个变量或函数时,编译器会将其视为在该文件的全局作用域中声明,而不是在该文件的局部作用域中声明。

2024-01-16 17:20:15 865 1

原创 C++与Javascript的对比篇(二)

C++的vector是C++标准库中的一个容器类,用于存储和操作动态数组。它提供了一系列方便的方法来管理数组的大小和元素的访问。

2024-01-16 08:44:14 996

原创 C++入门篇----封装,继承,多态

官方解释:封装的意义在于将属性和行为(数据和操作数据的函数)作为一个整体,表现生活中的事物,同时保护数据成员不被类以外的程序直接访问或修改,只能通过提供的公共接口访问。结合生活例子:想象一个闹钟。闹钟的内部有电路、电池、发声装置等。我们不关心闹钟是如何工作的,我们只关心它的功能:设置时间、响铃等。这就是封装。我们只看到闹钟给我们提供的接口(设置时间、响铃等),而其内部的具体实现细节被隐藏了。int minute;

2024-01-11 17:48:51 1022

原创 C++与Typescript的区别

在C++中,类模板和函数模板允许你为多种数据类型编写通用的代码。这就像每个人都有鼻子,耳朵,眼镜。但是有些人整合在一起就是帅哥美女,有的就长成。。。C++主要分为两个模板-------类模板和函数模板。

2024-01-09 16:49:23 1320

原创 C,C++,javascript对比篇(一)

因为每次执行程序都需要重新转换源代码,所以解释型语言的执行效率天生就低于编译型语言,甚至存在数量级的差距。用通俗的话解释,面向对象就像喝咖啡,先撕开速溶咖啡条,倒入杯子,灌满热水,之后搅拌的过程。用通俗的话解释,面向对象就像喝咖啡,打开咖啡机在下面乘就能喝了。在应用层面(比如网站开发、批处理、小工具等)才会使用解释型语言。1,面向对象(OOP)

2024-01-08 17:08:36 528

原创 LM2596多路稳压电路

LM2596是一款降压型电源管理单片集成电路的开关电压调节器,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。该芯片具有固定的输出版本,包括3.3V、5V和12V,以及可调版本(ADJ),ADJ可以输出小于37V的各种电压。LM2596内部包含固定频率振荡器(150KHZ)和基准稳压器(1.23v),并具有完善的保护电路、电流限制、热关断电路等。

2024-01-06 16:54:38 1508

原创 HC-05--常用的蓝牙设备

如果想进入这种模式,需要长按模块上的黑色小按钮(即PIO11),然后同时接上电源,如果指示灯。在自动工作模式,模块分为主(Master)、从(Slave)、回环(Loopback)三种模式。HC-05是一款功能强大的经典蓝牙模块,由爱信电子(EGBT)生产。它基于蓝牙2.0标准,支持多种传输协议,包括串口通信(UART)和蓝牙SPP(串口通信)。此外,它也可用于两个具有串行功能的微控制器之间的通信,或通过微控制器控制任何蓝牙设备。HC-05蓝牙串口通讯模块有两种模式:命令响应工作模式和自动连接工作模式。

2024-01-05 17:58:12 455

原创 C++入门篇

const 只能在函数里面使用,它对常量有类型检查更安全;而define在全局中使用,没有类型检查。

2024-01-05 16:35:52 450

原创 电机番外篇----电机驱动芯片

L298N电机驱动芯片是由意大利芯片公司SGS-Thomson Microeletronics(简称ST意法半导体公司)生产的一款电机驱动芯片。

2023-12-30 10:13:31 790 1

原创 电机基础知识2-舵机

舵机是一种根据位置角度转动的电机,说白了舵机只支持在一定角度的转动,无法像直流电机一样按圈转;

2023-12-28 10:19:59 586 1

原创 电机番外篇-电机编码器

编码器实则也是一个传感器,它负责把直线位移,角位移等模拟信号转换为数字信号如常见的二进制、格雷码BCD等。

2023-12-24 11:45:17 521 1

原创 电机基础知识1--------直流有刷与无刷电机

反之,如果运动电荷是负的,仍用四指表示电荷运动方向,那么大拇指的指向的反方向为洛伦兹力方向。通电直导线中的安培定则(安培定则一):用右手握住通电直导线,让大拇指指向直导线中电流方向,那么四指指向就是通电导线周围磁场的方向;判断通电导线处于磁场中时,所受安培力 F (或运动)的方向、磁感应强度B的方向以及通电导体棒的电流I三者方向之间的关系的定律。通电螺线管中的安培定则(安培定则二):用右手握住通电螺线管,让四指指向电流的方向,那么大拇指所指的那一端是通电螺线管的N极。判断安培力:导线在磁场中力的方向。

2023-12-22 11:47:40 898

原创 数字电路中的门电路

或门,英文名称叫OR Gate ,又称“或电路”。非门,英文名称是NOT Gate 又称“非电路”简单地说,就是有0输出1,全1输出0。简单地讲,输入不同为0,输出相同为1。异或门,英文简称为XOR Gate。同或门,英文简称XNOR Gate。与非门,英文简称NAND Gate。简单地讲就是相同为0,不同为1。👆与非门的逻辑表达符号(中文版)👆或非门的逻辑表达符号(中文版)简单地讲,有1为0,有0为1。简单地说,就是有1才为1。有1输出0,全0输出1。简单地讲,有1就为1。

2023-12-18 15:37:02 1566 1

原创 超声波传感器HC-SR04介绍

接收端:TL074是一种四运算放大器,具有高电压双极晶体管(简称 三极管)的输入放大特性,它可以作为信号放大器,对接收到的超声波信号进行放大,以增强其幅度和信噪比(信噪比 是指一个电子设备中信号和噪声的比值,其计算单位是dB 也就是分贝数来表示,通俗地讲放大器的输出信号的功率于输出的噪声的比值,一般来讲,信噪比越大,输出的信号里面混着的噪声就越小,信号也就越好,声音的质量也就越好,因此一般信噪比用来衡量一个音频器件的好坏,比如:蓝牙耳机,音响)。由此通过发射信号到收到的回响信号时间可以计算得到距离。

2023-12-18 10:57:11 3773 1

原创 C语言中剩下的知识点

argv代表argument vector 是参数向量的意思, 它表示的是参数序列或指针,是一个字符指针属猪,用于存储所有的命令行参数。例如,如果有一个名为my_program 的程序,argc的值将为4(分别是my_program ,arg1 ,arg2,arg3)如果宏名已经被定义,那么代码块将被跳过。其中argc 代表argument count 是参数个数的意思,它至少为1个参数,因为argv[0]代表的程序名的本身。这两个参数让主函数在终端命令行接收参数,从而控制主函数的参数控制,进而改变参数。

2023-12-18 09:40:08 37 1

原创 C语言操作文件的函数

fopen():用于打开文件,它返回一个文件指针,如果文件打开失败,则返回NULL。fclose():关闭文件。如果文件成功关闭,它返回0,否则返回EOF。fwrite():向文件中写入数据。它的参数于fread()fseek():向指定文件中的某个位置。第二个参数:读取每个元素的大小;ftell():返回文件当前位置。第一个参数:是写入数据的指针。第三个参数:读取元素的数量。第三个参数:写入元素的数量。第四个参数:写入文件的指针。第二个参数:是元素的大小。第二个参数:文件偏移量。第四个参数:文件指针。

2023-12-15 20:28:34 35

原创 SPI通信协议

SPI(Serial Peripheral Interface,串行外设接口缩写)是一种同步全双工的通信协议(因为它具有时钟线,主设备和从设备也能同时发送和接收数据),它使用四根线进行通信:主设备数据输出从设备输入(MOSI)、主设备数据输入从设备输出(MISO)、时钟线(SCLK)、片选信号线(CS)。SPI通信速率可以达到几Mbps~几百bps。SPI有主、从两种模式,它是用单独数据线和单独时钟信号保证发送端和接收端完美同步。通常由一主多从,一主一从模式。图1 一主一从模式图2 一主多从模式。

2023-12-09 11:31:04 41

原创 IIC通信协议

I2C(Inter Integrated Circuit BUS)翻译过来就是交互集成电路,该总线由NXP公司设计,多用于主控制器的从器件的主从通信。IIC分为物理层和协议层。SDA(Serial data)数据线,用来传输数据。SCL(Serial clock line)是时钟线,用来控制数据发送时序。图1 IIC主从设备图。

2023-12-06 16:58:15 49 1

原创 Can 总线协议

CAN总线协议详解

2023-11-30 16:50:29 90 1

原创 C语言与JS中链表与数组

不管是JS中还是C语言中都有链表和数组的概念,这应该是计算机里面涉及到的数据结构与概念只不过JS是一种弱语言,它只有数组这一种数据结构是JS内置的,JS也可以通过自定义类的方式创建链表,C语言是一门强语言类型,涉及到指针和内存的地址,也就是操作硬件方面的内容,所以要操作内存空间,能直接操作计算机的内存空间也就只有C语言和C++了(C#不知道)

2023-11-29 11:49:37 20 1

原创 C语言中的.与JS中.的区别

然后,我们使用点运算符访问并打印出这些成员的值。有点像JS中用.访问对象的属性。.点操作符只能用于访问对象、数组、函数和字符串的属性和方法。对于其他类型的数据,如数字和布尔值,点操作符没有定义的行为。可以访问字符串的长度,字符串length和toUpperCase也是内置的方法。C语言.运算符只能用于结构体访问结构体对象的成员时才能使用。可以访问数组的长度,数组的length也是内置的方法。代码例子中用obj.调用了对象 的唯一方法。可以访问对象的内置和方法。

2023-11-29 10:17:15 16 1

原创 C语言指针的使用

声明了一个指向int类型的函数指针pFunc,然后分别将add和multiply函数的地址赋值给它。当我们调用pFunc时,它会根据指向的函数执行相应的操作。这就像你点粤菜那么大部分都是不辣的特征一样,而粤菜就像是一个指针,不辣是粤菜指向的函数(特征)8,指针函数:指针函数是一种特殊的函数,但它返回的是&,也就是内存地址。9,函数指针:函数指针=函数的指针,可以指向一种特定的函数拿来调用。4,通过指针访问变量:使用*符号访问指针指向的内存地址中的数据。3,给指针赋值:将某个变量的地址赋值给指针。

2023-11-23 20:20:00 42

原创 C语言函数和JS函数

其实C语言中也有用户自定义函数如上面的无参数函数声明的mix_ingredients函数。

2023-11-18 10:45:54 29 1

原创 C语言中数组与JS数组的区别

就像在一个装水果的篮子里面,在特定的位置装入特定的水果。不会更改现有数组,而是返回一个新数组,就像在一个装有水果的篮子里面放进另一个篮子的水果。它就像一个面,或者就像一个班级里面的座位一样,既有行又有列,而一维数组没有列只有行,这就像一根线。从数组中加入最后一个元素,这就像一个装水果的篮子,在最后面装入一个水果,与pop()操作相反。与shift()操作相反,从数组中添加第一个元素,这就像一个装水果的篮子,装入第一个水果。从数组中移除最后一个元素,这就像一个装水果的篮子 ,取出最后一个水果出来。

2023-11-17 11:00:58 66 1

原创 C语言中的循环与JS中的循环的区别

假设我买了一篮子水果,里面有几种水果,使用for in即可以遍历水果的种类又可以遍历里面有什么水果(篮子里面水果的数量);而for of 只可以遍历水果的数量。同样也有for循环和whlie循环,只不过它多加了for in和for of 两种循环结构和语句。同样的当for循环进入死循环的时候 (也就是for(;)的时候)同样也用break退出循环。

2023-11-17 09:19:47 38 1

原创 关于C语言与JS的异同(在变量上面)

JS语言中里面也有局部作用域与全局作用域的区别,全局作用域有var的关键字,var有内存泄漏的风险,直到ES7才引进了let const 两个关键字,let表示的是定义一个局部变量,每次for循环都会产生一个新的变量。而const 可以定义一个常数,const 定义的常量是不可更改的,一般在使用局部变量或者是常量时候(也就是定义let和const 的时候)一般采用const比较多,这样可以保证代码变量减少,使代码更加具有可复用性,改起来也比较方便。C语言也用#define 的关键字定义常量。

2023-11-16 08:32:15 38 1

原创 关于RS232与RS485通信协议的异同

RS232协议是由串口这个知识点衍生而来的,众所周知,串口通信usart通信采用RS232/RS485通信,区别是RS232、RS485是一种通信协议,它规定了电平信号、数据格式、通信速率等规定;RS232一般采用D型9头的插座和插头进行物理连接如下图:DB9插座还分公头和母头,如下图:这些针脚的具体功能可能会根据不同的应用和设备有所变化,但以上是DB9接口的常见用法。

2023-11-15 17:50:48 85

原创 学C语言的第一天总结

请大家多多包涵,第一次发文章

2023-11-14 20:53:17 29 2

空空如也

JS匹配以199或198开头的10位数字的正则表达式

2022-11-10

react-router-dom V6怎么实现两个路由下的嵌套路由

2022-11-06

antd 的轮播图Carousel超出页面的大小怎么解决

2022-09-28

微信小程序video组件黑屏?

2022-09-19

小程序2.26版本勾选了将JS5编译成ES5还是报错

2022-09-15

react native 老是报错说好的适合前端的呢?

2022-09-05

运行react native 报错,java_home 的问题

2022-09-05

用django写完的后端能像node.js一样生成一个baseurl(网址)吗?

2022-09-03

pygame飞机大战超过最大的递归深度

2022-09-01

请问pygame可以实时渲染页面不?

2022-08-31

bilbil第三方文档怎么使用

2022-05-28

Taro3怎么导入iconfont 和antd-design

2022-05-25

Taro运行H5失败

2022-05-25

vue-cli版本3.10.0,vue-router版本为3.4.5不能用 useRouter()吗?

2022-05-24

关于怎么在vue中使用iconfont循环svg图标,

2022-05-23

为什么在定义了vant的变量还会报错

2022-05-23

vue导入axios错误

2022-05-23

vant在VUE项目中按需引入报错

2022-05-22

Taro启动H5页面失败

2022-05-21

使用STCUBEProarming出现下载错误

2022-05-04

怎么用HAL库配置L293D驱动小车电机

2022-04-28

HAL库配置stm32f103zet6PWM电机驱动

2022-04-26

在ubuntu中安装sudo apt install ros-noetic-desktop-full出现报错

2022-04-26

React.js改内联样式失败

2022-04-24

HAL库配置stm32f103zet6PWM电机驱动

2022-04-20

HAL库制作STM32红外避障小车见到障碍物反而变快了?

2022-04-12

KEIL5用HAL库明明定义了函数,函数里定义好的变量好也有代码提示符,编译时却没定义

2022-04-11

qt连接数据库进行CRUD异常

2024-02-16

谁能用小学生都听的懂的话来解释什么是STM32的位带操作

2023-09-13

vue3怎么在一个页面动态刷新视图,

2023-06-27

vue3 setup语法糖使用uni-app的uni.createInnerAudioContext()

2023-06-15

使用vant的轮播图结果使图片竖排

2023-06-09

uni' 不是内部或外部命令,也不是可运行的程序

2023-06-08

uni-app报错了,不知道为什么

2023-06-07

vant4按需引入组件失败 降到vant3用babel.config.js也失败不知道为什么?

2023-06-03

uni-app使用VUE3 setup语法糖失败

2023-05-26

改变播放按钮图标失败

2023-05-18

vue3定义函数失败

2023-05-17

网络请求做优化还是空数组

2023-05-16

react-router-dom使用useNavigate 点击跳转路由出错

2022-11-04

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

TA关注的人

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