自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (4)
  • 收藏
  • 关注

原创 【计算机网络 - 第二章 物理层】

第二章 物理层一. 概念二. 接口特性(2). 码元,波特,速率,带宽前三个失真因素成正比,最后一个成反比为了解决码间串扰,有了奈氏定则(用来限制码元传输速率):而香农定理(用来限制极限数据率 “极限传输速率”)练习:对于香农公式:注意题目给的单位时dB还是没有数值(S/N),dB 需要换算一步10*log10 _= dB, _ 即为所求,之后再算信道极限传输速率:练习:二.调制与解调:(2)编码方式:需要额外信道来实现CLK(时钟周期)时间

2022-03-12 09:57:31 340

原创 【计算机网络 - 第一章 概述】

计算机网络-1. 概念:2.计算机网络的功能:3.计算机网络的组成

2022-03-04 17:00:47 1878

原创 【野火-STM32】(六)按键处理

【野火-STM32】(六)按键处理,位带区处理一. 异或运算符^:与0异或不变,与1异或改变。(1与0还是1,0与0还是0,1与1变0,0与1得1)二。位带区与位带别名区一个地址是一个字节。左移5位的意思是:2^5=32=48,左移2位:22=4...

2021-10-12 10:56:58 652

原创 【STM32-野火】(五)STM32固件库编程

【STM32-野火】(五)STM32固件库编程(一)认识固件库所包含的东西:分为六点。补充:<>:是去系统目录下找“ ”:先在当前目录找,找不到再去系统目录。

2021-09-27 19:33:51 421

原创 【STM32-野火】(四)构建库函数雏形,结构体封装

【STM32-野火】(四)构建库函数雏形,结构体封装(一).封装原理及过程:对照一下两图:代码如下://强制类型转换为结构体指针,此时GPIO-B的地址成为结构体的起始地址main.c文件(二).第二种封装形式:函数配合子函数点亮LED这个头文件不变。...

2021-09-17 17:10:08 748

原创 【STM32-野火】(三)使用寄存器点亮LED

【STM32-野火】(三)使用寄存器点亮LED(一).由于stm32比51要更加高级,所以配置时不仅有输入还有输出,此时由配置高低寄存器决定端口,要配合材料看。对应上图写配置GPIO为输出的代码 (操作寄存器内存点亮LED)。代码如下,操作流程:1.首先打开相应GPIO口的复位时钟,只有在时钟工作的时候,配置的相应GPIO才会工作2.其次配置GPIO,在手册中找到对应的真实地址,将其配置为1(意思是配置IO口为输出,由于既有输入也有输出,所以在用时一定要配置)3.最后再将LED所在ODR配置为

2021-09-11 11:27:12 1605

原创 【STM32-野火】(二)寄存器

(一)看实物STM32从芯片黑点开始,逆时针数起,是从第一个引脚到最后一个。系统解释:(二)寄存器映射:

2021-09-10 19:57:54 752

原创 【STM32-野火】(一)如何使用串口,引脚芯片解读

一. 使用串口(1)ISP使用简介(2)STM32选型命名:下图对应上图看:

2021-08-13 11:25:23 992

原创 51单片机~红外通信工作原理

51单片机~红外通信工作原理一. 红外接收原理位定义:脉冲位置调制方式,用“0”和“1”的时间区分,在一小段脉冲中,位“0”表示0.56ms+("1"的时间)ms,而位“1”表示0.56ms+(“1”的时间)ms。由于“1”的时间不同,所以产生了“0”和“1”的区分。但是通常会产生误差,导致无法精确到某一毫秒,此时就产生“1"与”0“之间的一个分介点,比如0.56~1.57ms,分别是位“0”和位“1”的高电平1时长,此时可采取低于1ms位“0”,高于1ms位“1”来解决误差问题。

2021-07-12 13:30:12 2653 3

原创 【数据结构】(十四)哈夫曼树

【数据结构】(十四)哈夫曼树(一)哈夫曼树说明:带权路径长度最小的算法 == 路径长度(根到此节点的路径长度) x 权值(此结点的值)的总和。(如下图第三颗树的路径长度最短为哈夫曼树)(二)基本思想:步奏如下:先初始化一个W,随后找其中最小的两个结点连接起来形成树,再将W中的最小两个节点删除,最后将所形成的树放入数组。然后继续重复此操作:在重复找最小的两颗树合并:(三)算法结构:...

2021-06-02 19:32:05 646

原创 【数据结构】(十三)二叉树遍历的非递归算法,以及C++Stack容器的用法

二叉树遍历的非递归算法(一)前序遍历的非递归算法:动画演示4:08在这里插入代码片(二)中序遍历(只不过改了输出的位置,其他不变):将输出改在POP弹出栈的位置,意思就是所弹出栈的结点即为输出结点。![在这里插入代码片(三)后序遍历的非递归算法:...

2021-05-25 16:20:18 232

原创 【数据结构】(十二)树与森林与二叉树的转化

【数据结构】(十二)树与森林的转化(一)一颗树的转化形式:如果将右指针指向自己的兄弟,做指针指向孩子,则下图左边的树转化为右边树的形式。右边的树化成结构如下图:(二)树转换成二叉树:1.关系:2. 树转化为二叉树的方法:删除线之后:顺时针转动后:检验:两者的前序遍历结果一样:(证明转换成功如下图)(三)森林转换二叉树:利用(二)先将树转换成二叉树后一棵树的根节点作为前一棵树的右子树:(四)二叉树转森林或树:重点理解第一步:(五)森林的遍历:.

2021-05-20 16:00:49 233

原创 【数据结构】(十一)二叉树的创建,线索二叉树

【数据结构】(十一)二叉树的创建(懒猫老师代码)(一)说明:创建二叉树还是需要用到二叉树的遍历:为什么要有返回值,是因为:返回值是数节点与节点相连的的桥梁,如果不返回则,建立的结点之间不相连,就构不成数了。(二)第二种方法:...

2021-05-20 13:02:30 450

原创 【数据结构】(十)二叉树的(前中后)序遍历, 算法+代码

【数据结构】(十)二叉树的遍历(一)说明:中序遍历左中右,有左子树就一直访问下去,直到没有返回根,然后右子树,之后一层层向上回溯。

2021-05-06 21:00:40 331 3

原创 51单片机~DS1302时钟,SPI总线原理

51单片机~DS1302时钟(一)说明:(二)SPI总线原理:(三)日历时钟寄存器:慢充电:BCD码:

2021-05-03 09:07:03 896 4

原创 51单片机~DS18B20温度传感器

51单片机~DS18B20温度传感器(一)简介说明:(二)接线:1. 内部结构:正温度前五位是0.负温度前五位是1.由LS,MS组成的四位十六进制数,和16位二进制数。(先MS后LS)结合上下图直到温度计算:1乘2 ^ 6 + 0乘2 ^ 5 +1乘2^ 4 +0乘2^ 3 +……2^0 ==85...

2021-04-28 20:43:08 3269 7

原创 51单片机~EETROM ( I IC协议总线),AT24CXX存储器工作原理

51单片机~EETROM ( ICC协议总线)工作原理(一)I^2 C总线控制原理:1.数据有效性规定:所以如图,当SCL为高电平的时候,SDA数据稳定不改变,当SCL为低电平的时候,看时序图SDA才允许改变。2. 这是启示和终止,和上面没有太大关系。(上面只说有效信号)数据传输可能产生的三种状况:4. 主机在传送数据时的几种方式:(S表示其实信号,P表示终止信号),白A表示从机的应答,阴影A表示主机的应答,—A表示非应答(代表即将结束接受),应答之后主(从)机再发送

2021-04-27 14:24:13 1238 10

原创 51单片机~串口通信(讲解+代码)

51单片机~串口通信(一)计算机串行通信原理:

2021-04-24 11:25:26 10303 9

原创 【数据结构】(九)(二叉)树的逻辑,性质,存储结构

【数据结构】(八)树的逻辑存储结构(一)树的定义:注意两点:不重合不交叉。树的术语:与线性表比较:(二)树的遍历:前序遍历:2. 后序遍历:(相当于从右向左写出前序遍历的树,写答案是时也是从左到右写)层序遍历:(从上到下,从左到右)(三)树的存储结构:1. 双亲表示法:重点:firstchild(此节点第一个孩子的节点),rightchild(此节点对应的紧邻的兄弟节点):(-1表示查无此人,结束)首先讲解创建:A~I输入表,之后找A的第一个

2021-04-22 13:23:39 585 1

原创 51单片机~定时器和外部中断(各个位控制作用详解)

(一)中断(二)定时器,计数器中断TL0低八位先进行存储,达到0XF,向上进一,直到高低八位都满时就可以产生中断或者控制TF0口。(1).TMOD低四位控制T0,高四位控制T1。GATE:(门控位)(2)控制寄存器TCON:(低四位控制外部中断,高四位控制计数器启动和中断申请)(3)定时器的四种工作方式:...

2021-04-21 19:26:05 4837 5

原创 【数据结构】(八)稀疏矩阵的加法和乘法运算(代码)

稀疏矩阵的加法和乘法运算上节学了类的友元,这节开始矩阵加法和乘法运算:(一)加法:在这里插入代码片在这里插入代码片

2021-04-16 18:57:44 2695 1

原创 【数据结构】(七)矩阵的压缩存储,C++类的友元

矩阵的压缩存储所有的矩阵你都可以通过推导得出其在一位数组或者链表中的关系。(一).对称矩阵压缩:(二)下三角和上三角矩阵:解释: 下三角矩阵在后面加一个C表示为0即可,只要算到上三角空白区域就去C中的值。(三)对角矩阵:(四)稀疏矩阵的压缩存储:引入三元组:行号, 列号, 非零元素值:利用顺序存储方式:可以用结构体也可用类封装:(五)十字链表:适用于十字链表需要频繁修改的时候含义:图解:C++类定义:在这里插入代码片在这里插入代码片在这里插入代

2021-04-16 13:01:27 270

原创 【数据结构】(六)字符串匹配(BF算法,KMP算法),和C++有关string的类用法

【数据结构】(六)字符串匹配(BF算法)(一)记录串长的三种方法:1.2.3.(二)模式匹配:BF算法:i遇到不匹配的时候要回溯,回溯时就是 i= i-j+1,正好到达下一个位置。代码:(BF算法)#include<iostream>using namespace std;#include<string>int BF(char M[], char N[]){ int i=0, j=0; while (M[i] != '\0' &amp

2021-04-15 19:56:35 406

原创 51单片机~运放控制声控电路,运算放大器(各模式精细详解),NE555时基电路芯片分析

51单片机~运放控制声控电路(一)驻极体话筒:(二)运算放大器:说明:在使用时V+和V-之间没有压差不进行电路放大,但是一旦有了压差,就成为运算放大器,(1)单电源:V+ > V-时,输出1(输出电压是1所代表的VCC(VCC是多少伏就输出多少伏)),V+ < V-时,输出0,就是输出0V。(2)双电源时:输出所接正电压和伏电压(正负分别代表1和0)(3)负反馈:(4)运算放大器乘法运算~同向比例放大器:解释:1. 当负反馈电路接上时,Vout的输出电压(就是Vo

2021-04-15 16:47:41 8488 2

原创 【数据结构】(五)(循环)队列,链式队列(银行排队(离散事件模拟)算法)

【数据结构】(五)队列,链式队列(银行排队算法)(一)队列:(如果用循环将使算法时间变得复杂,所以为了提高运算效率,引入队列)(1)假溢出:(为了解决假溢出,引入循环队列)(2)循环队列:(判断空满条件)其中方法二:(3)队列的创建:(所有的引用修改都是为了可以传出去而使用的)C++:C语言:(4)操作:入队:出队:在主函数中输出item:改为C++中语句:读取对头元素:(二)链式队列:C++:(2)区别:(三)银行排队(离散事件模拟)

2021-04-09 19:56:02 1937

原创 51单片机~光敏传感器,比较器(模电,运放,放大原理)原理芯片

51单片机之光敏传感器,比较器原理芯片(一)光敏传感器说明:(二)电压比较器功能:

2021-04-06 21:31:36 8245 1

原创 51单片机之IO口输入的内部工作原理 ;IO内部电路分析;独立按键实现和消抖

51单片机之独立按键(一)IO口驱动能力:(注意:1的时候是驱动电流,0是驱动灌电流)灌电流:在P0口为0V时,支持外接的电源流入的电流为12mA.灌电流如上图所示,当单片机输出低电平时,允许电路向单片机引脚内灌入电流,这个电流就叫做“灌电流”,从而发光二极管被点亮,发光二极管所在的电路可以叫做“灌电流负载”。拉电流如上图所示,当单片机输出高电平时,允许电路从单片机的引脚拉出电流,这个电流就叫做“拉电流”,从而发光二极管被点亮,发光二极管所在的电路可以叫做“拉电流负载”上拉就是将不确定的信

2021-04-03 15:58:18 8229 2

原创 【数据结构】(四)栈和递归(汉诺塔问题,八皇后问题)

【数据结构】(四)栈和递归(汉诺塔问题)举例一个简单的的递归问题:(一)汉诺塔说明:分部解释:汉诺塔问题代码:#include <stdio.h>void move(char c1, char c2){ printf("%c-->%c\n", c1, c2);}void hannoi(int n, char x, char y, char z) //不断进行递归调用,调用自身{ if (n == 1) { move(x, z); } e

2021-04-02 09:11:24 236

原创 【数据结构】(三)栈堆的应用(表达式求解)

【数据结构】(三)顺序表习题(表达式求解)(1)预习作业:查表:

2021-04-01 11:03:59 185

原创 51单片机~动态数码管的显示,消影,消抖,静态扫描,动态扫描,由浅入深,原理代码

动态数码管的显示,由浅入深,原理(一)视觉暂留:#include"reg52.h"typedef signed char int8;typedef signed int int16;typedef signed long int32;typedef unsigned char uint8; //字符型typedef unsigned int uint16;typedef unsigned long uint32;sbit duanxuan=P2^5; //段选控

2021-03-31 12:57:56 5351 1

原创 51单片机~数码管电路原理分析,计算,编码表完整版,显示代码,中文命名.c文件报错问题

数码管电路原理分析,计算,编码表数码管简介:2. 电路分析:(原理如图)==74H573芯片原理分析74H573芯片相当于一个锁存器,给公共引脚高电平就是给P2.6=1,之后给P0=0XFF,最后再给P2.6=0,就完成输出了。最后当给了P2.6=0,后0XFF锁存在Q1~Q7,无论P0输入在变化,输出还是0XFF固定加上210欧电阻防止数码管过亮,WEI对应输出端,前面的芯片对应A~G数码管输入端。所以想让数码管亮,需要给前一个芯片(接a ~g的)加0X00,后一个芯片(接W

2021-03-30 15:08:45 1921

原创 C++核心编程,从入门到出门(四)类和对象(对象的初始化和清理,拷贝构造函数的调用时机,)

C++核心编程(四)类和对象(一). 对象的初始化和清理:*(构造函数和析构函输数)(1)构造函数: //******————《构造函数》————******//#include <iostream>using namespace std;#include<string>class Person{public: Person() //构造函数调用且只调用一次,前面不需要加void什么的 {

2021-03-30 14:05:44 130

原创 【数据结构】(三)栈堆的应用(DFS算法:迷宫问题)(动态二维数组的创建,nullsptr指针)

【数据结构】顺序栈习题(表达式求值)(1)预习作业:查表:(2)实现作业:(二)迷宫问题(重点):讲解思路:(line和col表示移动后新坐标)

2021-03-25 20:53:55 385

原创 【数据结构】(三)顺序栈(用异常捕获优化顺序栈,类模板实现顺序栈,两栈共享存储空间,栈的链式存储结构)

【数据结构】(三)顺序栈(用异常捕获优化顺序栈)(一)异常处理的三种情况(以及执行流程):注意:(异常出现情况):(二)C++中异常类的使用:定义:异常内部类相比上次头文件的程序多异常类:分文件如下:#include "Stack.h" //**两种构造方法**//Stack::Stack() //初始化栈 无参构造大小为Max——SIZE{ size = MAX_SIZE; top = -1; data = new char[MAX_SIZE

2021-03-24 20:38:09 267

原创 【数据结构】(二)顺序栈(讲解和习题建立运用讲解)

【数据结构】(二)栈栈的概念:上溢和下溢:(2). 定义:·C++定义方法:初始化:C语言版本:(3). 抽象数据类型的定义:思考完成: ret退了一格t ,peatabc退三格变peat,合起来变repeat.(如下图)...

2021-03-23 13:59:36 375

原创 C++核心编程(四)类与封装进阶(将成员属性设为私有,如何访问,类分文件写法)(练习:设计立方体类,判断点和圆位置关系)

C++核心编程(四)类与封装进阶(一).将成员属性设为私有:

2021-03-21 10:19:12 170

原创 C++核心编程(三)类和封装(定义和使用,class权限分类)

C++核心编程(三)类和封装

2021-03-18 20:41:05 99

原创 C++核心编程(二)函数提高,默认值,函数重载

C++核心编程(二)函数提高,默认值(一). 函数默认值:(如图演示)注意事项:(二).函数占位参数:(三).函数重载:注意事项:(1)(2).(3).函数重载出现二义性:

2021-03-18 17:27:04 70

原创 【数据结构(一)】(链表习题)约瑟夫环问题(多种解法)

【数据结构(一)】(链表习题)约瑟夫环问题(一).约瑟夫环问题:方法一:解:#include <stdio.h>#include <malloc.h>struct node{ int data; //存猴子编号 struct node* next; //指向node或者另外一个节点};int main(){ int n, m; //n猴子的个数,m报数数到m退出 int i; int answer[100]; //answer保存每次的答

2021-03-14 20:52:56 810

原创 C++核心编程(一)栈,堆,new语法,引用

C++核心编程(一)栈区:** 局部变量的地址不能返回**:(1).第一次紧挨这操作可以操作成功是因为系统自动保留,第二次则系统已经自动释放了局部变量的内存了。(2).局部变量和形参都放在栈区堆区:new开辟:delete,释放:利用new在堆区开辟释放数组:C++中的引用:引用的注意事项:引用在函数中的应用:(相当于用别名操作修改数据)引用作函数:这里(函数可以作左值)引用的本质:就是C++中的指针常量,因为指向(初始化)之后就不能修改,所以相当于固定

2021-03-13 17:17:44 188

2048word.docx

代码,可运行

2021-03-09

数字游戏2048 素材.zip

游戏编译资源

2021-01-07

NISIS 3.0

进行资源打包

2021-01-07

原神三巨头字符画(对应字符画博客https://blog.csdn.net/qq_51523386/article/details/111488428)

原神三巨头字符画(对应字符画博客https://blog.csdn.net/qq_51523386/article/details/111488428)

2020-12-21

空空如也

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

TA关注的人

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