自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 为什么正弦波经过反向比例放大之后会变成近似三角波?该怎么解决?

正弦波经过反向放大之后变成近似三角波的原因与解决方法

2023-03-20 08:51:30 2515

原创 运算放大器---虚短和虚断

运算放大器---虚短和虚断

2022-12-03 09:54:38 3718

原创 运算放大器---运放选型

运算放大器---运放选型

2022-11-30 16:53:36 1198

原创 运算放大器分类及运算放大器参数说明

运算放大器分类及运算放大器参数说明

2022-11-30 13:52:05 4537 2

原创 低通滤波器

低通滤波器

2022-11-16 09:07:30 20235

转载 电压跟随器---转载

电压跟随器

2022-09-29 14:51:41 311

原创 运算放大器

运算放大器

2022-09-29 14:50:10 97

原创 正交解调---通过定时器调制两个相位差为90°的PWM波用于正交解调

正交解调---通过定时器调制两个相位差为90°的PWM波用于正交解调

2022-08-26 09:35:30 1427

原创 Ubuntu在/usr/include目录下找不到asm-generic/error-bash.h

使用这条命令语句进行安装即可 :sudo apt-get install linux-libc-dev:i386

2021-07-25 12:23:51 457

原创 C++程序设计 继承------继承方式 继承中构造函数析构函数的顺序 继承同名成员处理方式 继承静态同名成员处理方式 菱形继承(virtual)

继承前言<1>继承是面向对象的三大特性之一<2>有些类与类之间存在特殊的关系,我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还拥有自己的特性。这个时候我们就可以考虑利用继承的技术.<3>继承的好处就是减少重复代码<4>语法: class 子类 : 继承方式 父类<5>子类有时候也称为派生类 父类有时候也被称为基类一、继承方式继承语法: class 派生类:继承方式 父类1.公有继承在公有继承的时候,基类的私有成员是不

2021-04-21 18:54:10 184

原创 C++程序设计 运算符重载————加号运算符 左移运算符 递增运算符 赋值运算符 关系运算符 函数调用运算符

运算符重载运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。1.加号运算符重载下面的程序实现两个自定义数据类型进行相加的运算#include"iostream"using namespace std;class Person{ public: int pa; int pb;//类函数成员做函数重载 Person operator +(Person &p) { Person temp; temp.pa=this-&g

2021-04-20 17:57:48 283 1

原创 嵌入式Linux开发 计算机网络概述-------TCP/IP/UDP概念简介

TCP/IP/UDP协议1.TCP/IP协议简介1.1 TCP/IP协议是一个协议族的总称1.2分层结构简介为了减少协议设计的复杂性,大多数网络模型均采用按层的方式来组织(1)每一层利用下一层提供的服务来为上一层提供服务(2)本层服务的实现细节对上层屏蔽1.3 TCP/IP协议数据链路层、网络层、运输层、应用层注:OSI/RM是理论上的标准,而TCP/IP协议是事实上的标准1.4 TCP/IP协议的层次结构(1)TCP/IP协议是一组包括IP协议、TCP协议、UDP协议、ICMP协议和

2021-04-20 10:48:25 302

原创 嵌入式Linux开发 多线程的并发性————多线程存在延时函数和不存在延时函数运行结果不同的原因

多线程的并发性————多线程存在延时函数和不存在延时函数运行结果不同的原因今天继续学习了linux应用程序开发有关线程的知识,主要学的是线程同步互斥,内容是互斥锁(mutex)和信号量(sem)。在学习的过程中发现了一个问题,让我产生疑惑,当我们在线程函数体中写延时函数和不写延时函数最终程序运行的结果是完全不同的,主要原因就是多线程的并发性,通过以下这个程序举例。先在线程函数体中添加一秒钟的延时函数看一下运行效果然后将延时函数屏蔽,屏蔽后在运行看结果分析: 只是因为一秒的延时函数,程序运行

2021-04-13 21:04:35 1126 1

原创 嵌入式Linux应用开发 4 Linux多线程程序设计1 线程的概念 以及创建一个线程

Linux多线程程序设计1.线程出现的原因<1>每一个进程都拥有自己的数据段,代码段和堆栈段,这就造成进程在进行创建和切换以及撤销等操作的时候,需要较大的系统开销。<2>为了减少系统开销,将进程中演化出了线程<3>线程存在于进程之中,共享进程的资源<4>线程是进程中的独立控制流,由环境和一系列的执行指令组成。通过一个图感受一下进程和线程的不同点2.线程和进程去比较<1>传统意义上的进程被称为重量级的进程,从现代的角度来看,就是只拥

2021-04-12 20:19:32 353

原创 嵌入式Linux应用开发 3.Linux下静态库和动态库(共享库)的制作和使用

Linux下静态库和动态库(共享库)的制作和使用1.Linux操作系统支持的库函数分别为:<1>静态库:libxxx.a,在编译时就将库编译进可执行文件之中。优点:程序的运行环境中不需要外部的函数库。缺点:可执行程序大。<2>动态库,又称共享库,libxxx.so,在运行时将库加载到可执行文件中。优点:可执行程序小缺点:程序的运行环境中必须提供相应的库动态库在2.静态库两个需要掌握的知识点(静态库的制作)<1>静态库,当我们在写完一个程序以后,编译后生

2021-04-11 17:03:29 307

原创 嵌入式Linux应用开发 2.系统编程 标准IO:fopen fclose fwrite fread

边学边看边记标准IO1.标准IO和文件IO的区别文件IO:是直接调用内核提供的系统调用函数,头文件是unistd.h标准IO:是间接调用系统调用函数,头文件是stdio.h2.三个缓存的概念<1>用户空间的缓存:我们程序中的缓存,就是你想从内核读写的缓存(数组)<2>内核空间缓存:每打开一个文件,内核在内核空间中也会开辟一块缓存空间(1)文件IO的写即是将用户空间中的缓存写到内核空间缓存(2)文件IO的读即是将内核空间的缓存写到用户空间缓存之中<3>

2021-04-11 11:19:54 167

原创 C++2类和对象 友元 全局函数做友元 类做友元 类内成员函数做友元

友元函数简介:在程序里面有些私有属性也想让类外的函数或类去访问,就需要用到友元函数。友元的目的就是让一个函数或类的成员去访问另一个类的私有成员。如同两个陌生人强制建立友谊,瞬间感情升温变成好朋友。关键字:friend 用三个程序解释三种方法1.全局函数做友元#include"iostream"using namespace std;class Person{ friend void friend_people(Person *p); public: string y_name="ya

2021-04-10 15:49:08 251

原创 C++1类和对象 对象特性3 static静态成员函数 C++对象模型 this指针 const修饰成员函数

边学边记边思考1.静态成员函数<1>静态成员函数不可以访问非静态成员变量,因为无法区分该非静态成员变量到底属于哪个成员。因此静态成员函数只能调用静态成员变量,因为静态成员函数只有一份,属于所有的对象,大家共同调用。如果把静态成员函数放到私有成员下面,在类外也是无法访问的。<2>当类内存在静态成员变量的时候需要初始化,具体的原因可以看下面这篇文章https://www.cnblogs.com/ceason/articles/12852889.html2.C++对象模型&lt

2021-04-10 11:21:19 216

原创 C++1类和对象 对象特性2 深拷贝与浅拷贝 初始化列表 类的对象做类的成员

边学边记边思考1.深拷贝与浅拷贝<1>浅拷贝:简单的赋值拷贝操作,也就是我们熟悉的等号赋值举例说明:类 对象1(值); 类 对象2(对象1);:此时对象2拥有对象1的值<2>深拷贝:在堆区申请一段空间,进行拷贝操作。在这里要声明一个问题,当我们通过new在堆区申请一块空间的时候,并且进行了拷贝,这个时候拷贝与被拷贝的变量指向的堆区空间是同一个空间,当我们在析构函数中进行释放的时候就会出现重复释放的情况,会出现错误,这也是浅拷贝存在的致命问题。解决问题的办法就是通过深拷贝解

2021-04-10 11:15:03 113

原创 C++1类和对象 对象特性1 构造函数与析构函数 构造函数的调用与分类 调用时机以及构造函数的调用规则

一、构造函数与析构函数1.C++利用构造函数和析构函数去做两件事,他们分别是:<1>构造函数:主要作用是在创建对象的时候为对象的成员属性进行赋值,构造函数由编译器自动调用,无需我们手动调用。<2>析构函数:析构函数是在系统运行结束前,对对象进行销毁工作也就是释放地址空间。2.构造函数的语法<1>函数无返回值,无需写void<2>函数名称与类名相同<3>可以含参数,实现函数重载<4>程序在调用对象的时候会自动调用构造,无需

2021-04-08 22:31:05 223

原创 嵌入式Linux应用开发 1.系统编程 文件IO:open close write read lseek 通过文件io实现cp命令

跟着b站边学边记,也算是给自己做个笔记。1.使用linuxIO和我们直接写程序的区别我们平常直接写程序,属于在应用层写程序,通过我们的printf传入内核(在这里printf也是通过调用系统函数write进入的驱动层),通过内核的驱动,在硬件层去进行显示。当我们使用IO的时候,我们属于直接在应用层和驱动层之间通过一个write接口进入驱动层,直接通过接口从应用层进入内核层,这一过程省略printf的调用的过程。2.使用IO去编程的好处,首先我认为使用IO去编程,即可以实现我们在应用层编写程序的诉求,

2021-04-08 19:16:43 307

原创 C++内存四区的概念

内存四区1.内存分区模型C++在运行的过程中将内存大方向划分为四个区域<1>代码区:存放代码的二进制代码,由操作系统进行管理<2>全局区:存放全局变量和静态变量以及常量<3>栈区:由编译器自动分配释放,存放函数的参数值,局部变量等<4>堆区:由程序员分配和释放,若程序员不释放,当程序运行结束后系统将会自动释放意义:不同区域存放的数据,赋予不同的生命周期,给我们最大的灵活编程2.程序运行前和运行后在程序编译后,生成exe可执行文件,我们通过DE

2021-04-07 18:54:52 299

原创 linux用户和用户组管理的基础知识

今天学习了用户和用户组管理这一块的知识,为了防止忘记以及能够随时的复习在这里简单的记一下笔记。一、用户的配置文件1.用户信息文件/etc/passwd:里面主要放置的都是与用户有关的信息。通过vi /etc/passwd 命令去打开这个目录文件:如下图为打开后的模样该文件中的每一行代表一个用户,通过六个:去分割七个段,每一个段都有自己的含义。用户名称:密码标志...

2021-03-24 20:51:01 426

原创 linux虚拟机上实现创建网页,window上的浏览器不能通过ip去打开网页,并且在window的适配器中没有VM的

最近在学习在linux虚拟机上建网页,网页建成后可以在虚拟机linux的火狐上显示,但是在window上的浏览器却打不开。在网上一顿搜索,大部分都说网络配置的问题,但是我的虚拟机却可以ping自己的ip地址,然后我又试了试ping百度的网址依然可以实现。这就让我很懵,后来我想了一想可能不是linux的问题,于是去看了一下window的配置发现原来在网络连接下并没有显示虚拟机的网络。之后开启疯狂的百度,一顿试,终于试出原因,在这里记个笔记。首先我查找windows上是否有我虚拟机的网络连接是通过以下步骤:1

2021-03-22 20:32:28 1402 2

原创 初学者对STM32GPIO库函数的理解

初学者对STM32GPIO库函数的理解1.首先我们从GPIO初始化结构体入手<1>uint16_t GPIO_Pin; 意义:指定要配置的GPIO引脚。这个参数可以是@ref GPIO_pins_define的任意值。前面提到的这个宏定义的位置就在下面127行,它的主要作用就是把GPIO的各个引脚的地址给封装了起来。<2>GPIOSpeed_TypeDef GPIO_Speed意义:指定所选引脚的速度。他的参数可以是@ref GPIOSpeed_Type...

2021-03-12 14:40:09 2426 2

空空如也

空空如也

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

TA关注的人

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