自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客小新

坎坎坷坷人生路,永不停息是脚步

  • 博客(23)
  • 收藏
  • 关注

原创 【ARM】UART串口与看门狗——第五篇

串行:每位数据,依次顺序传输并行:多位数据,齐头并进同时传输单工:规定只能由一端发送到另一端,规定了发送方和接收方半双工:可以进行双向通信,但是同一时刻只能完成发送或接收一个操作 ​ 全双工:可以同时进行双向通信同步:发送方在发送数据时,同时会发送一个同步的时钟信号,用于同步发送方和接收方的数据采样频率异步:异步通信是以字节为单位发送,同一个字符中的相邻两位的时间间隔是固定的,不同的字符间的时间间隔不确定,发送方和接收方进行确定以固定(相同)的频率进行采样

2022-10-10 02:45:00 2350 17

原创 【ARM】中断控制 ——第六篇

中断可以理解为当系统出现了意外情况,可以自动停止当前正在执行的程序,并转入执行新情况的程序中进行执行,处理完后会回到原被暂停的程序继续执行。

2022-10-09 22:12:55 2427 11

原创 【ARM】接口编程LED点亮与控制——第四篇

对于ARM的CPU,当执行程序时有可能产生异常,此时CPU会切换到对应的工作模式,CPU会跳到异常向量表去执行(PC会赋值为对应的异常地址)。对于ARM程序,第一段执行代码为异常向量表,为汇编代码,进行对应的定义、、。

2022-10-09 21:43:50 1800 2

原创 【从零基础学习C语言】指针与数组—第七篇

除了以上两种方法还可以用sizeof求字符串长度,但是求出的字符长度包括 ‘/0’,所以这方法求出的长度需要减一,可以自行编写,此处不在编写。一个变量有地址,一个数组由多个元素组成,每个元素都会有一个地址,指针变量存储某种类型变量的地址,可以存储数组元素的地址。//表示的是把a数组的第一个元素的地址赋值给p,而不是把数组每个元素的值赋值给p。数组中,数组名代表整个数组,数组名是一个值,整个数组的首地址(第一个元素的地址)//定义一个数组buf[10]a是数组名,第一个元素的地址,不能更改,是一个常量。

2022-10-09 17:18:56 707 1

原创 【从零基础学习C语言】数组指针与指针数组—第八篇

有一种指针,专门用来表示整个数组的地址,指针类型为数组类型,叫做数组指针格式:元素类型 (* 指针变量名)[元素个数];数组指针指向一个数组,是整个数组的地址。

2022-10-08 23:18:01 610 3

原创 【从零基础学习C语言】地址与指针—第六篇

在计算机中,所有数据都存在内存单元(空间)中,每个内存单元都有一个地址,只要通过地址就可以找到内存单元,就可以找到内存单元数据。由于通过内存地址就能找到对应的内存单元数据内容,就说内存地址指向该变量数据(内存空间),我们就把这种描述叫做指针。指针就是地址指向内存空间,其实就是地址。指针:内存空间的地址,地址指向这个内存空间(变量数据)

2022-10-06 20:36:54 5403 17

原创 【从零基础学习C语言】C语言之函数—第五篇

返回值类型 函数名(参数列表){函数体;//代表函数要去执行的语句,功能 return;//表示函数结束,函数之后的内容不执行,跳转回调用位置 }函数定义步骤函数名:函数叫什么名字,方便找到使用函数体:函数是干啥的,完成什么功能return语句:在函数中通过return语句来表示,函数结束(即函数执行到return语句就跳转回去)

2022-10-05 07:30:00 460 16

原创 【从零基础学习C语言】if语句小例子:输入3个数,从小到大排序

1、if语句格式2、第一种方法3、第二种方法。

2022-10-05 02:30:00 3628 4

原创 【从零基础学习C语言】一维数组与二维数组—第四篇

数组:就是一组数据,就是用来存储一组数据,数据是由基本上护数据类型构成出来,叫做构造数据类型,相同的数据类型的一组数据(相同的数据类型数据的有序集合),数组类型可以存储多个相同类型数据格式:元素类型 数组名[元素个数];数组初始化:定义数组时进行赋值操作,就叫做初始化,就是初始化数组(数据这个集合)的元素

2022-10-04 00:56:48 329 14

原创 【从零基础学习C语言】流程控制与四大跳转关键字—第三篇

循环:给定条件成立时,反复执行语句块,直到条件不成立时,就跳过这个语句块;do...while循环,判断的条件为第二次开始,即循环中,需要几次执行,条件就需要几次,只是第一次没有判断而已(默认第一次满足),但是条件也是在改变的。如果循环条件为真,则执行一次循环体(条件改变),再次判断条件是否为真,继续执行循环体,直到循环条件为假。if选择结构中,可以出现多个if,else结构,表示满足条件执行语句块,不满足条件判断下一个if是否满足。根据条件结果,选择性的执行某些语句块,跳过一些语句块,执行其中一个条件。

2022-10-03 01:16:59 529 4

原创 【从零基础学习C语言】Linux操作命令大全与C程序概念—第二篇

我是使用Linux操作系统来作为C语言的环境编译,为什么使用Linux操作系统进行开发呢?因为Linux操作系统是开源的,有助于各个厂商进行开发使用,所以使用Linux进行我们的C语言学习有助于我们的学习和成长,Linux发行版本比较多,厂商也很多,大家可以按照自己的需求进行下载。希望跟大家一起学习,一起努力,一起加油!

2022-10-02 00:22:31 204 2

原创 【从零基础学习C语言】计算机基础与进制转换—第一篇

进位制:如果每一位超过进制大小,就往前进1来表示,逢x进一二进制:通过进位制来存储,其中由于只认识0和1,所以每一位就只有0和1来组合,所以叫做二进制,计算机存储数据与指令使用是二进制表示。八进制:每一位有8个数值:0,1,2,3,4,5,6,7 (如:777)十进制:每一位有10个数值:0,1,2,3,4,5,6,7,8,9 (例:9 + 2 = 11)十六进制:每一位有16个数值:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d (13),e(14),f(1

2022-10-01 22:04:37 274

原创 [ARM]ADC电压采集与蜂鸣器实现——第七篇

本篇是学习ADC模数转换与PWM控制输出得的实现,本篇共讲述了ADC和PWM两个实验,本篇难度不高,主要是熟悉电路结构和资料的查询,整理此篇学习内容与大家共赏!希望与大家共同进步,一起加油!除了本篇内容,还有其他ARM学习内容收纳于 🎈ARM学习之路🎈里,欢迎大家查看!

2022-09-27 22:12:32 3364 12

原创 【ARM】指令集与寻址——第三篇

∶数据传送指令(mov)、算术逻辑运算指令(ADD、SUM、AND)、比较指令(CMP、TST):PC赋值跳转、专用跳转指令:LDR和STR。

2022-09-20 00:06:35 1376

原创 【ARM】寄存器与异常——第二篇

CPSR(程序状态寄存器):存储当前CPU执行程序时的工作状态,CPU在工作时只会有一个工作状态,所以所有的工作模式都是同一个CPSR,所有ARM体系架构允许通过添加协处理器来扩展指令集,每个协处理器执行指令时,会忽略处理器和其他协处理器的指令当协处理器也不能识别指令时,也会产生未定义异常。当产生异常后,硬件能够完成的操作就只是跳转到异常向量表(d赋值为异常向量地址),剩下的异常处理都是由程序员完成。通常在向量中写一条跳转指令,表示异常应该怎么做,跳转到对应的地址(异常处理地址)执行。

2022-09-16 18:45:01 940

原创 【ARM】ARM体系与计算机组成——第一篇

Cache:为高速缓冲存储器,CPU可以直接访问,用以存放当前正在执行的程序的活跃部分。RAM(内存):为主存储器,CPU可以直接访问,用以存储当前正在执行的程序。ROM(硬盘):为辅助存储器,CPU不可以直接访问,用以存储当前不参与执行的程序和数据,需要时再送入主存储器。运算器的作用:是进行算数运算(加减乘除)和逻辑运算(位移、逻辑关系),也就是算数逻辑单元(ALU),其中包括寄存器(累加寄存器、暂停器),运算器是由控制器进行控制执行。控制器作用:是用于控制CPU进行操作,以控制其他基本部

2022-09-16 10:12:38 895 3

原创 【c++ 】智能指针

与共享指针一起使用,作为共享指针的备份,弱指针的存在,不影响共享指针的释放。​ 它遵循共享所有权的概念,即不同的 shared_ptr 对象可以与相同的指针相关联,并在内部使用引用计数机制来实现这一点。auto_ptr用于c++98,是C++11之前的智能指针,c++11中已经被unique_ptr所取代,因为unique_ptr更为严谨。唯一指针也被称为独占式指针,是受限制的共享指针,绑定一个指针指向对象。数据的指针,新的shared_ptr在与对象相关联时,其构造函数将与此指针关联的引用。

2022-09-01 21:29:19 356

原创 【C++】 函数模板和类模板

template 实例化类模版需要包含全部信息,包括类成员函数的定义,用于广泛的数据类型——泛型。关键字:template、typename/class(模板形参)类模板没有自动类型推导的使用方式,只能用显示指定类型方式。类模版的成员函数具有和这个类模版相同的模版参数。模板函数可以发生重载,返回值也可以为模板函数。templateclass类名。类模板在模板参数列表中可以有默认参数。

2022-09-01 21:15:51 388

原创 【c++】 异常处理

需要继承C++提供的所有异常的基类exception,可以在自定义的异常类重写what()方法,用于查看产生的异常的类型。格式://class 自定义的异常 :public exception{//自定义异常类体}以下程序自定义异常类,用于提示字符串的错误。//用以识别字符串错误;}{}};{{throw MyException("分母不能为 0");

2022-09-01 21:05:15 730

原创 【c++】 类与对象

这篇内容是对 类与对象 有一个基础的认识,在c++里面类与对象是很重要的,这对于整个c++的学习起到一个关键的作用。如果 类与对象 的认识不够,后续的其他c++知识恐怕也很难理解到位,所以掌握类和对象是很关键的。这篇整理的知识,是对类和对象有一个最基础的了解。在今后的学习路上,希望与大家共勉。----加油!----

2022-09-01 20:43:03 346

原创 【c++】 继承与多态

继承与多态1、继承单继承: ​ 一个类的对象共享了另一个类的成员变量和成员方法多继承: ​ 一个类的对象共享了其他多个类的成员变量和成员方法2、继承权限3、多继承多继承:一个派生类有两个或多个基类。4、多态多态:一种接口(一般指父类接口),多种方法(一般指子类中多种相同方法)。构成多态性:虚函数多态性的调用时机...

2022-08-31 23:37:18 176

原创 【c++ 】内存模型与命名空间

有名空间: 格式: namespace 标识符的名称 { //代码块或者是语句块 } 无名空间: 格式: namespace 表示声明的无名的命名空间 { //代码块或者语句块 } new:用于开辟堆区空间,相当于是C里的mallocdelete:用于释放堆区空间,相当于是C里的freeint * p = new int[10] ;//数组型,第一种格式malloc/free和new/delete的异同点:相同点:malloc/free和new/delete都是在堆区申请空间和释放堆区空间...

2022-08-30 22:36:06 290

原创 【c++】 初识

C语言:面向过程。c++:面向对象编程。在C语言中:将现实世界中的问题的解决步骤流程按照函数一步一步的进行实现缺点:不易维护在C++中:一切皆对象,将现实世界中的事物抽象成对象,用对象去处理相应的实际的问题,面向过程编程和面向对象编程优点:易维护,出现问题能精确定位。C++文件名及扩展结构 C++程序的文件后缀:windows(.cpp),linux(.cpp、.cxx、.cc)......

2022-08-29 22:11:41 180

毕业设计(烟雾报警器)

这份资料适用于有关单片机设计的毕业设计,可以给毕业设计提供思路 主要功能:通过烟雾传感器MQ-2模块对厨房内的危险气体进行不间断的检测,再通过ADC0832双通道转换电路将MQ-2所检测出的天然气与CO浓度值转化为电信号传输到核心处理芯片,通过核心处理芯片STC89C52单片机对数据进行处理,并且将其监测到的温度和烟雾浓度通过LCD1602液晶显示屏幕进行显示。预设的可燃气体浓度超过预设值时,于是LED灯开始闪烁和蜂鸣报警器开始报警;假如未超过预设的临界值,则安全装置继续正常工作;。与此同时,以上两种情况LED显示模块都将正常显示CO浓度和天然气浓度。 本次设计利用四个按键s2~s5,用于控制烟雾和天然气的阈值增减,按键的一端分别连接P1.0~P1.3端口,另外一端连接着地,当按键s2按下时烟雾阈值增加;当s3按下时烟雾阈值减少;当s4按下时天然气阈值增加;当s5按下时天然气阈值减少,分别与之对应将单片机的P1.0~P1.3端口电平拉低,单片机检测到电平拉低则认为按键按下。 分模块设计了整体系统的硬件,包括主控、传感器、显示、蜂鸣器以及按键模块,根据元器件的性能,合理的设计了驱动电路。

2023-11-07

空空如也

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

TA关注的人

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