自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32-第十一节-USART串口

串口是一种应用广泛的通讯接口,线路简单。TX:发送引脚;RX:接收引脚串口通信为低位先行,即先传输的是数据低位。功能:通过串口实现程序烧录。使用(1)打开软件FlyMcu(江协科技资料包中),编译Keil的代码,在工程中可以找到 .hex 文件,点击下图中鼠标所示3个点,选择hex文件。(2)硬件上,先将USB转串口的线连接好,然后将BOOT0置1,再按下复位键,如下图所示。(3)点击开始编译,程序就导入单片机了。

2025-07-24 00:45:39 685

原创 STM32-第十节-DMA直接存储器存取

DMA,直接存储区存取DMA可以提供外设和存储器或存储器与存储器见的高速数据传输,无需CPU干预。12个通道:DMA1(7个通道),DMA2(5个通道)每个通道支持软件触发,和特定硬件触发(每个外设有固定通道)。本芯片只有DMA1。

2025-07-22 12:42:12 501

原创 STM32-第九节-ADC模数转换

ADC,Analog-Digital Converter,模拟数字转换器本芯片没有通道10-15。

2025-07-21 13:31:26 721

原创 STM32-第八节-TIM定时器-4(编码器接口)

Encoder Interface 编码器接口。

2025-07-20 15:55:18 435

原创 STM32-第七节-TIM定时器-3(输入捕获)

IC,输入捕获。

2025-07-18 23:35:02 606

原创 STM32-第六节-TIM定时器-2(输出比较)

名称:OC(Output Compare),输出比较电路来源:上一篇文章的通用定时器部分的下半模块。工作寄存器:CNT计数器,CCR输入捕获/输出比较寄存器(这两功能共用这一个寄存器),此次输出比较功能,是比较这两个寄存器的值的大小,从而使输出实现 置0/1 或,反转 的功能。功能图输出模式控制器跟据CNT与CCR的值大小,改变oc1REF信号的电平,信号来到CCER模块,CCER通过置0/1来决定是否将输入反转(这个功能称为极性控制),最后信号通过oc1输出。输出模式。

2025-07-13 23:33:47 1050

原创 STM32-第五节-TIM定时器-1(定时器中断)

对指定输入时钟进行计数,并在计数值达到设定值时触发中断。分类:基本定时器,通用定时器,高级定时器频率:72MHZ。

2025-07-13 16:08:44 1154

原创 STM32-第四节-EXTI外部中断

中断定义详见51 定时器一文。简而言之,当触发中段条件后,主程序暂停,进入中断程序,执行完成后再回到主程序。注:与 if 区别,if 在主程序内,只有当主程序走到 if 才会判断进入条件,而中断系统是时时刻刻判断中断条件是否触发的。NVIC是用于专门对中断优先级进行排序的模块,所有中断链接到NVIC,再由NVIC链接到CPU。EXTI可以检测GPIO的电平信号,当其指定的GPIO产生电平变化,可发送中断申请。支持触发方式:上升沿,下降沿,双边沿,软件触发。支持的GPIO口。

2025-07-09 11:26:19 609

原创 STM32-第三节-OLED调试工具

有机发光二极管。

2025-07-06 17:55:55 368

原创 STM32-第二节-GPIO输入(按键,传感器)

按键:按下连通,松手断开。注意:按下按键时会有5-10ms的晃动,延时一下再判断就好,故下面代码delay_ms(20)。。

2025-07-03 22:34:51 549

原创 STM32-第一节-新建工程,GPIO输出(LED,蜂鸣器)

通用输入输出口。可配置为8种模式。引脚电平 0 - 3.3V。(1)上拉/下拉输入:不接输入时默认输入为高/低电平。(2)模拟输入:GPIO无效,引脚直接接入ADC模块(即输入为模拟信号)(3)开漏输出:输出时高电平为高阻态,低电平为VSS。(4)推挽输出:输出时高电平为VDD,低电平为VSS。//介绍:APB2总线时钟使能函数//参数1:需要时钟信号的外设,具体名称可右键函数找到定义查看//(此次为RCC_APB2Periph_GPIOA,因为要点亮PA0口的LED)

2025-06-30 16:12:52 708

原创 数据结构-第三节-树与二叉树

所有节点的孩子头结点,组成一个顺序表。完全二叉树:除了最后一层,节点数均为最大,且最下层节点都集中在该层的最左端。中序遍历,用左/右子树中序遍历最后一个节点,代替自己,并删除那最后一个节点。孩子表示法:一个节点存有一个指针,指向孩子的头结点(所有孩子存为链表)孩子-兄弟表示法:一个节点存有两个指针,指向第一个孩子和下一个兄弟。树:一种非线性结构,除了根外,每个节点有一个前趋,可以有多个后继。根与子树:上级是根,根引申出来的是子树(子树不是某一个节点)。二叉树的存储:节点类存两个指针,指向左节点与右节点。

2025-06-26 14:05:57 349

原创 数据结构-第二节-堆栈与队列

每出队列一次,需要把整个队列依次往前提1位,否则出现看似溢出,实则前面有空位。队列:在一端进行插入(队尾),一端进行删除(队头)。堆栈:只能在一个端进行插入删除,此端称为栈顶。以两个栈为例:设置两个指针维护栈顶,当两个指针相遇才会栈满。以链表实现堆栈结构,不会出现栈满。即用链表形式,实现队列结构。

2025-06-26 12:00:58 265

原创 Matlab入门

A = [1 2 3;4 5 6;10 22 34]B = 1:2:9 %最小值:步长:最大值C = repmat(B,3,2) %将一个矩阵重复,行重复3次,列2次D = ones(4,4) %生成全1矩阵,还有zeros,其他没有[endif]

2025-05-23 16:37:01 956

原创 数据结构-第一节-线性表

数据对象:数据元素的集合 eg(一个班级)数据元素:数据的基本单位,提供一个完整的信息 (一个学生)4种:顺序映像(内存中顺序存储),非顺序映像(链表),文件存储,数据库存储。链表(常用):元素 + 指针(指示后续元素存储位置) = 节点。n个数据元素,顺序排列,一个元素只有一个前元素和一个后元素。包含元素,以及下一节点的指针,一个元素对应一个结点。

2025-04-29 09:29:40 286

原创 Git-使用教程(新手向)

左上角红色区域,为没有Add的文件。(Git里叫Stage)左下角绿色区域,为已经Add还没Commit的文件。右上角黄色区域:显示选中文件的成分。右下角白色区域:对要Commit的文件的注释,填写此版本的一些信息。

2025-04-18 21:54:32 652

原创 Verilog-第一节-初识Verilog HDL

Verilog HDL是一种硬件描述语言,以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

2025-01-12 10:56:45 473

原创 51单片机-第十四节-AD/DA(XPT2046触摸屏、SPI总线)

AD:模拟-数字转换,将模拟信号转换为计算机可操作的数字信号。DA:数字-模拟转换,将计算机输出的数字信号转换为模拟信号。(1)运算放大器(简称"运放") 是具有很高放大倍数的放大电路单元。内部集成了差分放大器、电压放大器、功率放大器三级放大电路,是一个性能完备、功能强大的通用放大电路单元,由于其应用十分广泛,现已作为基本的电路元件出现在电路图。(2)作用:输入端有两个,作用为放大两个输入端电压的差值,一般倍数设置为无穷大倍。通过外接电阻来控制放大倍数。

2024-10-09 18:13:23 1802

原创 51单片机-第十三节-直流电机驱动(PWM)

直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,电极正接,电机正转,电极反接,电机反转。直流电机主要由永磁体(定子)、线圈(转子)和换向器组成。PWM即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常用于电机控速,开关电源等。原理:通过使电机工作一会,停一会,调节工作和停止的比例(即占空比),来控制转速。参数:频率 = 1/Ts;占空比 = Ton/Ts;精度 = 占空比变化步距注:一般保证一个周期频率相同,即使占空比不同。

2024-09-07 17:45:05 1045

原创 51单片机-第十二节-LCD1602液晶显示屏

LCD1602是一种字符型液晶显示屏,可以显示ASCII码的标准字符和其他的内置特殊字符。显示容量:16*2个字符,每个字符为5*7点阵。

2024-09-06 10:04:06 1388

原创 51单片机-第十一节-DS18B20温度传感器(One_Wire单总线)

DS18B20是一种数字温度传感器。测温范围:-55C - +125C通信接口:1-Wire(单总线)One_Wire单总线是一种通用数据总线,用的比双总线少。(1)一根通信线:DQ(2)异步,半双工。

2024-09-04 10:18:30 1297

原创 51单片机-第十节-独立按键及数码管优化

独立按键的实现中,为了解决抖动问题(在按下和抬起时,按键会在高低电平之间抖动10ms),我们在按下后Delay(20),随后进入循环,直到检测到按键抬起,再Delay(20),跳出循环。由于每次数码管显示只显示一下,因此当一次while循环的时间过长,会导致数码管帧率过低,发生闪烁现象。利用定时器,每隔20ms(跳过抖动)检测一次独立按键情况,当按键抬起再执行操作。在实现数码管时, 我们实现了在指定位置显示指定数字,并在显示一下后清零。如果按住按键不抬,程序会停止在独立按键的函数中。

2024-08-30 17:22:50 679

原创 51单片机-第九节-AT24C02存储器(I2C总线)

AT24C02是存储器,且掉电不丢失,可存储单片机要永久保存的数据。通讯接口:I2C总线。容量:256字节。(1)I2C总线 (Inter IC BUS)是由Philips公司开发的一种通用数据总线(2)两根通信线:SCL(Serial Clock)、SDA(Serial Data)(3)同步、半双工,带数据应答(4)通用的I2C总线,可以使各种设备的通信标准统一。

2024-08-30 15:52:27 866

原创 51单片机-第八节-蜂鸣器

蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定。无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音。

2024-08-07 12:39:58 1261

原创 51单片机-第七节-DS1302实时时钟

实时时钟芯片,可对年,月,日,周,时,分,秒计时,是一种集成电路。Command:操作模式,决定要进行的操作是读/写,以及读写内容(秒、分、时。。。如下图,其中最左侧的值即为进行对应操作的Command的值。例:对小时进行读取,Command = 0x85;其中Vcc1/2是电源,X1/X2是晶振。重点在于后三个。后三个的作用为输入和读取数据。其中后三个的原理与_74HC595_完全类似,均为1位1位输入,详细过程见上一节。CE:总开关,置1时开始工作;I/O:传入的数据,0/1;

2024-08-05 15:25:33 722

原创 51单片机-第六节-LED点阵屏与_74HC595_

74HC595是串行输入并行输出的移位寄存器,常用于IO口扩展。原理:一位一位对8个位(D0-7)进行赋值,再一起输出。理论上来说,只要时间要求不高,可以 对很多位(32,64)进行赋值再输出,从而3位控制很多位。其中SER为赋值的数据,SETCLK可使数据向下移位,RCLK会将缓存的数据同时输出。例:要使D0-7依次为 0000 0101:令SER=1,SETCLK=0,再令SETCLK=1,可使SER的1赋值给缓存区,得到1。

2024-07-31 11:51:49 567

原创 51单片机-第五节-UART串口通信

串口是通讯接口,实现两个设备的互相通信。单片机自带UART,其中引脚有TXD发送端,RXD接收端。且电平标准为TTL(+5V为1,0V为0)。

2024-07-24 18:20:33 788

原创 51单片机-第四节-定时器

单片机内部实现的计时系统。作用:代替长时间Daley,提高cpu效率。数量:至少2个,T0,T1,T2等。其中T0,T1为所有51单片机共有,T2等为不同单片机特化。工作模式:(只讲模式1)模式0:13位定时器,计数器;模式1:16位定时器,计数器(常用);模式2:8位自动重装模式;模式3:两个8位计数器TMOD:定时器模式寄存器M1,M0为控制模式的,我们运用模式1,令 M1,M0 为 0,1 即可。TCON:定时器控制寄存器TL0,TH0,TL1,TH1:计时系统寄存器。

2024-07-23 11:14:59 1524 1

原创 51单片机-第三节-LCD1602调试工具,矩阵键盘

依次给行赋值 0111,1011,1101,1110,每次赋值后检测列的状态,列为0说明接通了。四个参数的,第四个参数,为保留位数,少的保留后面(123,2 -> 23),多的前面补零。如电脑分辨率1920*1080个LED,只需1920+1080个接口即可控制。四位密码锁,1-9号键为对应键码,10为0,11是确认,12是清除。在单片机中,16个按键只需8个接口(4行+4列)。所有函数,前两个参数,均为指定显示位置。

2024-07-12 11:09:10 424

原创 51单片机-第二节-数码管

多个LED组合成8字显示器。由P2_2 - P2_4控制8个8的亮灭,三个端口,二进制转十进制,2^3=8,遵循CBA。(例:101(CBA)=5,使Y5端口对应LED6亮)由P0_0 - P0_7控制每个8的每个二极管亮灭。

2024-07-09 11:29:42 1448

原创 51单片机-第一节-LED和独立按键(Delay函数)

左下角四个按键。

2024-07-07 21:43:30 918

原创 c++学习第十七讲---STL常用容器---list容器

list容器:一个双向循环链表。注:list和vector是两个最常用的容器,各有优缺点。

2024-02-20 11:14:17 439

原创 c++学习第十六讲---STL常用容器---stack容器,queue容器

push(elem);push(elem);stack是一种先进后出的数据结构,它只有一个出口。//判断容器是否为空。栈中只有顶端的元素才能被使用,因此不存在遍历操作。queue是一种先进先出的数据结构,有两个出口。

2024-02-06 17:56:18 485

原创 c++学习第十五讲---STL常用容器---deque容器

功能:双端数组,可以对头端进行插入删除操作。vector头插头删时需要向后移动数组,效率低下。但vector访问元素时的速度会比deque快。deque内部有一个中控器,存放每个缓冲区的地址,维护缓冲区中的内容,缓冲区存放真实数据。依然用iterator迭代器。注:如果将传入的形参加const修饰:const deque<int>d , 就需要将迭代器改为const_iterator。

2024-02-06 16:16:02 1306

原创 c++学习第十四讲---STL常用容器---vector容器

vector功能与数组类似,与数组不同的是,vector可以动态扩展。

2024-02-02 08:20:26 897

原创 c++学习第十三讲---STL常用容器---string容器

string和char*的区别:char*是一个指针string是一个类,封装了char*,管理这个字符串,是char*的容器。

2024-01-27 22:41:14 1728

原创 c++学习第十二讲---STL初识

两种方式:对象/指针public:int m_Age;= v.end();= v.end();

2024-01-26 19:16:39 904

原创 c++学习第十一讲---文件操作

c++中对文件操作需要包含头文件 < fstream >文本文件:以ASCII码形式储存二进制文件:以二进制文件储存(读不懂)操作文件三大类:读:ifstream;写:ofstream;读写:fstream。

2024-01-22 19:30:51 772

原创 EasyX图形化学习(三)

数据类型IMAGE:保存图片的数据类型。

2024-01-18 21:53:30 1126

原创 c++学习第十讲---类和对象---模版

建立通用的模具,提高复用性。特点:模板不可以直接使用,它只是一个框架。分类:函数模板和类模板。

2024-01-18 07:37:39 967

空空如也

空空如也

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

TA关注的人

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