自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 32单片机——基本定时器

STM32F103有两个基本定时器TIM6和TIM7,它们的功能完全相同,资源是完全独立的,可以同时使用其主要特性如下:16位自动重载递增计数器(计数值:0~65535);16位可编程预分频器(预分频系数:1~65536),用于对计数器时钟频率进行分频;还可以触发DAC的同步电路;在更新事件(计数器溢出)时,产生中断/DMA请求。

2025-06-06 19:33:42 987

原创 32单片机——窗口看门狗

WWDG:Window watchdog,即窗口看门狗窗口看门狗本质上是能产生系统复位信号和提前唤醒中断的递减计数器WWDG产生复位信号的条件:(1)当递减计数器值从0x40减到0x3F时复位(即T6位跳变到0)(2)计数器的值大于W[6:0]值时喂狗会复位(3)提前唤醒中断(EWI):当递减计数器等于0x40时可产生喂狗:在窗口期(W[6:0]值~0x40)内重装载计数器的值,防止复位作用:用于监测单片机程序运行时效是否精准,主要检测软件异常应用:需要精准检测程序运行时间的场合。

2025-06-06 16:23:17 1000

原创 32单片机——独立看门狗

IWDG:Independent watchdog,即独立看门狗独立看门狗本质上是一个定时器,该定时器是一个12位的递减计数器,当计数器的值减到0的时候,就会产生一个复位信号如果在计数没减到0之前,重置计数器的值的话,那么就不会产生复位信号,这个动作我们称为喂狗(1)本质:能产生系统复位信号的计数器(2)特性:12位的递减的计数器,时钟由独立的RC振荡器提供(可在待机和停止模式下运行),看门狗被激活后,当递减计数器计数到0x000时产生复位。

2025-04-30 17:36:58 977

原创 32单片机——串口

通信的方式可以分为多种:(1)按照数据传送方式可分为串行通信和并行通信;①串行通信基本特征:数据逐位顺序依次传输优点:传输线少、布线成本低、灵活度高等优点,一般用于近距离人机交互,特殊处理后也可以用于远距离缺点:传输速率低②并行通信基本特征:数据各位可以通过多条线同时传输优点:传输速率高缺点:布线成本高,抗干扰能力差因而适用于短距离、高速率的通信(2)按照通信的数据同步方式,可分为异步通信和同步通信①同步通信要求通信双方共用同一时钟信号,在总线上保持统一的时序和周期完成信息传输。

2025-04-30 16:16:17 1128

原创 32单片机——外部中断

STM32F103ZET6的系统中断有10个,外部中断有60个。

2025-04-24 20:01:09 1393

原创 32单片机——GPIO配置步骤

x//x:A~E。

2025-04-24 08:59:32 908

原创 32单片机——GPIO寄存器

GPIO通用寄存器GPIOX_yyyBRR和LCKR几乎不用。

2025-04-23 21:53:19 402

原创 32单片机——GPIO的工作模式

GPIO(General Purpose Input Output,通用输入输出端口)是控制或者采集外部器件的信息的外设,即负责输入输出。它按组分配,每组16个IO口,组数视芯片而定。STM32F103ZET6芯片是144脚的芯片,具有GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF和GPIOG七组GPIO口,共有 112个IO口可供我们编程使用。这里重点说一下STM32F103的IO电平兼容性问题,STM32F103的。

2025-04-23 15:36:58 960

原创 单片机——使用printf调试

2、 打开串口后,重新烧入程序会出现问题?是因为没有关闭串口,把串口关闭后就可以重新烧入程序了。是因为代码没有写到while里,只运行一次,按复位键就会显示内容了。3、单片机没有终端,需要使用串口,将要输出的内容传到电脑(串口调试助手)上。//使用printf输出字符串 \r\n表示换行(为了兼容)printf("%#x\r\n",*(p+4));2、运行C语言时,输出到终端。

2025-04-23 10:55:56 576

原创 头文件的导入

运行时,先从当前路径(魔法棒中C/C++的头文件路径定义)查找,找到了就加载;找不到再从系统路径查找该头文件。总结:导入系统头文件,推荐使用<>;导入自定义头文件,推荐使用""运行时,从系统路径查找该头文件,找不到会报错。1、导入头文件时,使用。2、导入头文件时,使用。

2025-04-23 10:30:23 289

原创 32单片机——KEY

KEY0、KEY1和KEY2是低电平有效的,而KEY_UP则是高电平有效的,并且外部都没有上下拉电阻,所以需要在STM32F103内部设置上下拉,来确定设置空闲电平状态。

2025-03-12 14:07:43 1197

原创 32单片机——BEEP

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、 复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型,STM32F103智能火龙STM32开发板板载的蜂鸣器是电磁式的有源蜂鸣器这里的有源不是指电源的“源”,而是指有没有自带震荡电路,有源蜂鸣器自带了震荡电路, 一通电就会发声;无源蜂鸣器则没有自带震荡电路,必须外部提供2~5Khz左右的方波驱动, 才能发声。

2025-03-11 20:31:21 701

原创 32单片机——LED

LED原理图如图所示: DS0和DS1每过500ms一次交替闪烁,实现类似跑马灯的效果GPIO输出配置步骤(1)使能对应GPIO时钟STM32在使用任何外设之前,我们都要先使能其时钟(下同)。本实验用到PB5和PE5 两 个IO 口,因此需要先使能GPIOB和GPIOE 的时钟(2)设置对应 GPIO工作模式(推挽输出)本实验GPIO使用推挽输出模式,控制LED亮灭,通过函数HAL_GPIO_Init设置实现。(3)控制GPIO 引脚输出高低电平在配置好GPIO工作模式后,我们就可以通过HAL_GPIO_W

2025-03-11 19:37:00 1118

原创 C++ ——补充知识点

include<iomanip>//C语言int num=7;//C++//setw():使用前需要导入<iomanip>头文件//正数在前面补空格,负数在后面补空格return 0;

2025-02-22 09:01:19 685

原创 C++ ——异常

实际开发中,需要开发团队把自定义异常加入其中,标准异常的头文件可以使用#include <stdexcept>#include//自定义异常classMy_exceptpublic://throw()是异常规格说明,表示此函数不会抛出异常return "自定义异常";//手动抛出异常if(b==0){throw;return a/b;//捕获自定义异常try{//要捕获的可能出现异常的代码My_except。

2025-02-21 17:50:06 792

原创 C++ ——多态

多态:一个接口,多种状态,体现的是功能扩展的思想。

2025-02-21 10:35:09 687

原创 C++ ——继承

体现的是代码复用的思想1、子类继承父类,子类就拥有了父类的特性(成员方法和成员属性)2、已存在的类被称为“基类”或者“父类”或者“超类”;新创建的类被称为“派生类”或者“子类”注意:(1)子类继承了父类,子类就拥有了父类的属性和方法(2)如果子类重写了父类的同名方法,子类对象默认调用的是子类自己的成员方法,如果想调用父类的同名方法,要添加父类作用域限定符classFatherpublic:public://成员方法。

2025-02-20 14:05:18 1155

原创 C++ ——模版和容器

概念:模板可以让类或者函数支持一种通用类型,在编写时不指定固定的类型,在运行时才决定是什么类型,理论上讲可以支持任何类型,提高了代码的重用性模板可以让程序员专注于内部算法而忽略具体类型,是泛型编程的基础泛型编程:通俗的讲,就是定义(编写)的时候不指定类型,调用(运行)时再指定类型,体现的是代码重用的思想模板和泛型编程通常由两种实现方式:(1)函数模板:函数模板可以使一个函数支持任意数据类型。(2)类模板:类模板可以使一个类内部支持任意数据类型。

2025-02-19 11:39:07 1051

原创 C++ ——const关键字

const关键字通常表示只读,不可修改,可以保证数据的安全性。

2025-02-18 20:24:36 482

原创 C++ ——static关键字

特点:(1)第一次调用时创建,然后第一次调用结束时没有被回收,以后每次调用,都延用上一次调用结束时的值,直到程序结束时,才被回收(2)由这个类创建的所有对象共享同一个静态局部变量private:int num;public:static//静态局部变量number++;Test t(0);t.add();//93//由这个类创建的所有对象共享同一个静态局部变量。

2025-02-17 20:28:22 841

原创 C++ ——string类

string实际上是C++的一个类。

2025-02-17 17:42:09 907

原创 C++ ——友元与运算符重载

产生背景:由于类的封装性,会把成员变成私有的,如果外部需要频繁访问,就需要频繁的调用接口,影响效率,此时可以建立友元,友元可以直接访问类的私有成员,不必再调接口缺点:破坏了封装性,所以友元要慎用三种使用方式:(1)友元函数(2)友元类(3)友元成员函数。

2025-02-17 16:42:58 791

原创 C++ ——this指针

(1)this指针是一个特殊的指针,存储的对象的首地址(2)类的成员函数(包括构造函数和析构函数)内部,隐含一个this指针,指向对象的首地址(3)类内部,访问对象的成员变量或者调用对象的成员方法,都是通过this指针完成的,即使没有显示写出this,编译器也会自动添加this指向谁?谁调用指向谁(哪个对象调用就指向哪个对象的首地址)

2025-02-15 14:49:20 1130

原创 C++ ——作用域限定符、类内声明、类外定义

类里函数声明和定义分离时,需要用类名::指明函数属于哪个类,指明函数范围private:int num;public://类内定义// }//类内声明//类外定义Test::intTest::get_num(){return num;return 0;

2025-02-15 10:13:24 350

原创 C++ ——析构函数

不需要用户调用,创建对象时自动调用当对象销毁时,自动调用函数名:类名函数名:~类名构造函数可以重载析构函数没有参数,不能重载用于创建对象时,初始化对象属性用于销毁对象时,释放资源有返回值但是不写,void也不行返回值是新创建的对象没有返回值(2)不显式给出析构函数,会有默认的析构函数,函数体为空,参数也为空。给出析构函数,编译器就不在提供默认析构函数。

2025-02-15 09:57:57 717

原创 C++ ——构造函数

1、作用:创建对象时,给对象的属性进行初始化2、特点(1)构造函数与类同名(2)如果没有显式给出构造函数,编译器会给出默认的构造函数(参数为空,并且函数体也为空);如果给出任意的构造函数,系统默认的构造函数就不存在了(3)有返回值,但是不写返回值类型,也不可以写void(4)构造函数是在创建对象时自动调用3、构造函数支持函数重载4、构造函数也支持函数默认值。

2025-02-14 20:41:50 1056

原创 C++ ——类、对象和封装

cout<<"品牌:"<<p2->brand<<",颜色:"<<p2->color<<",价格:"<<p2->price<<endl;public是权限修饰符,代表公有的(类内、类外都可以访问),表示该属性或行为可以在类外进行访问。public是权限修饰符,代表公有的(类内、类外都可以访问),表示该属性或行为可以在类外进行访问。(私有的),此时,如果外部需要访问类中的私有属性,我们可以提供该属性对外的读或写接口。例如:类是人类,对象是张三,属性:姓名 性别 年龄,行为:吃喝睡 学习 睡觉。

2025-02-11 13:55:12 849

原创 C++ ——基础进阶

概念:相当于给变量取个别名,通过使用在变量定义时定义。

2025-02-11 10:12:15 928

原创 C++ ——从C到C++

(1)C++知识点概念内容比较多,需要反复复习(2)偏理论,有的内容不理解,可以先背下来,后续可能会理解更深(3)学好编程要多练习,简单的也要手写确认一遍,记笔记(4)学习过程中不可能每个知识点都100%懂,有些内容可能经过多年的程序开发实践才领悟,所以即使有不懂的,也按进度计划前行。

2025-02-10 20:06:07 2553 1

原创 Linux——基础命令3

w-----保存;q------退出;!-----强制执行:w (保存文件):wq (保存并退出vim):x (保存文件并退出vim):q!(不保存文件强制退出):w filename (另存为filename)pwd(可以快速查询当前文件所在目录)date (可以快速查看当前时间):set number (给文件设置行号) 可以简写为 :set nu:set nonumber (取消行号) 可以简写为 :set nonu。

2025-02-08 10:42:05 791

原创 Linux——基础命令2

在linux中分别有读、写和执行的权限对于文件夹而言,读权限影响用户是否能够列出目录结构对于文件而言,读权限影响用户是否可以查看文件内容对文件夹而言,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档对于文件而言,写权限影响用户是否可以编辑文件内容对于文件夹而言,执行权限影响对应的用户是否可以在文件夹内执行指令一般都是对于文件而言,特别脚本文件对于文件而言,执行权限影响文件是否可以运行Owner身份(文件所有者,默认为文档的创建者由于Linux是多用户、多任务。

2025-02-07 17:17:05 1040

原创 Linux——基础命令1

:普通用户#:超级用户。

2025-02-05 20:23:43 128302

原创 数据结构——查找算法和排序算法

需求:封装一个函数,写出在一个整型数组中查找目标元素的算法,找到了返回该元素所在索引;找不到返回-1。

2025-01-23 14:03:47 944

原创 数据结构——算法基础

算法的概念在计算机科学领域中几乎无处不在,在各种计算机系统的实现中,算法的设计往往处于核心的位置。计算机的问世是20世纪算法是计算机科学的重要基础,就像算盘一样,人们需要为计算机编制各种各样的“口诀”即算法,才能使其工作软件(项目) = 程序 + 文档程序 = 数据结构 + 算法软件(项目) = 数据结构 + 算法 + 文档。

2025-01-22 16:59:09 926

原创 数据结构——树和二叉树

1、定义(1)是一种非线性的数据结构,又叫做树型数据结构(2)树是n(n >=0)个节点的有限集合,当n=0时,叫空树(3)非空树必须满足两个条件:①有且仅有一个特定的称为根的节点;②其余的节点可以分为m(m >=0)个互不相交的有限集合T1、T2、......、Tm,其中每一个集合又是一棵树,并称其为根的子树2、相关概念(1)节点的度:树中一个节点的孩子个数称为该节点的度,所有节点的度的最大值是;eg:节点A的度:3;节点B的度:2;节点M的度:0;树的度:3。

2025-01-21 20:32:04 792

原创 数据结构——队列

1、队列:特殊的线性表2、存储结构:既可以是顺序存储,也可以是链式存储但是,顺序存储时,头插会移动大量元素,效率低,故而推荐链式存储3、队头:允许删除的一端4、队尾:允许插入的一端5、空队列:没有元素的队列6、特点:FIFO先进先出。

2025-01-21 11:45:17 1274

原创 数据结构——栈

(1)是一种特殊的线性表,只能在一端进行插入或删除操作(2)逻辑结构:线性结构;存储结构:既可以是顺序存储,也可以是链式存储(3)栈顶:允许插入或删除的一端(4)栈底:不允许插入或删除的一端,位置固定不变(5)空栈:栈中没有元素(6)使用特点:LIFO(后进先出。

2025-01-20 15:56:03 931

原创 计算机的内存分区

堆区的内存分配和释放通常由程序员控制,如果程序员不释放,程序结束时操作系统可能会回收。堆区的内存地址是按照从低到高的顺序分配的,大小受限于系统内存或虚拟内存的上限,因此相对于栈区来说,堆区提供了更大的空间和更灵活的内存管理方式。栈区的内存地址是按照从高到低的顺序分配的,其大小在编译时就已经确定,因此速度快,但空间有限。const修饰的全局变量也存放在常量区。全局变量和静态变量在程序的整个运行期间都是可见的,并且占用内存。程序的执行代码存放在代码区,这部分内存只读,不可修改。3、全局区(静态区)

2025-01-18 10:44:29 369

原创 数据结构——双向链表(带头、循环)

双链表也是链表的一种,双链表的每个数据节点中都有两个指针,分别指向前驱节点和后继结点数据节点如下图所示: 带头双向循环链表是链表中带头(哨兵位)、双向、循环三种属性的结合体(1)带头(哨兵位):哨兵位只负责存储第一个具有有效数据的节点,本身不存放数据,该处因为为双向循环链表,代表也可访问该链表的尾节点;(2)双向:每个节点不仅能访问该节点的后一个节点,同时也可访问本节点的前一个节点;(3)循环:第一个节点的pre指向尾节点; 链表为带头双向循环练表,因为存在哨兵位,所以在插入

2025-01-17 17:55:34 1523

原创 数据结构——链表和单向链表

(1)定义链表是一种基本的数据结构,它由一系列节点组成,每个节点包含一个值和指向下一个节点的指针节点如下图所示:与数组不同,链表中的节点不一定是连续的存储空间,因此可以有效地利用内存空间,而不需要预先知道数据的数量,不擅长随机访问(要遍历)(3)优缺点优点:不要求大片连续空间,改变容量方便;可以动态的添加和删除节点缺点:不方便可随机存取,要耗费一定空间存放指针。

2025-01-16 14:40:13 1906

32单片机-串口的配置

32单片机-串口的配置

2025-04-30

空空如也

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

TA关注的人

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