随笔分类 -  嵌入式开发

上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要:一、系统滴答定时器概述 SysTick,即系统滴答定时器,它包含在 M3/4/7 内核里面,核心是一个 24 位的递减计数器。当计数值减到 0 时,将从 RELOAD 寄存器中自动重装载定时初值,开始新一轮计数。只要不把它在 SysTick 控制及状态寄存器中的使能位清除,就永不停息。 二、SysT 阅读全文
posted @ 2023-10-27 20:06 星光映梦 阅读(354) 评论(0) 推荐(0)
摘要:一、STM32F4的时钟树 其中,A 部分表示 输入时钟源,可分为 外部时钟源 和 内部时钟源;B 为 锁相环 “PLL”;C 为 系统时钟源选择器,此项决定了 MCU 的系统主时钟 “SYSCLK” 的大小;AHB 预分频器将 SYSCLK 分频或不分频后分发给其它外设进行处理,包括到 D 部分的 阅读全文
posted @ 2023-10-25 19:43 星光映梦 阅读(380) 评论(0) 推荐(0)
摘要:一、初识HAL库 STM32 开发中常说的 HAL 库开发,指的是利用 HAL 库固件包里封装好的 C 语言编写的驱动文件,来实现对 STM32 内部和外围电器元件的控制的过程。但只有 HAL 库还不能直接驱动一个 STM32 的芯片,其它的组件已经由 ARM 与众多芯片硬件、软件厂商制定的通用的软 阅读全文
posted @ 2023-10-23 18:55 星光映梦 阅读(773) 评论(0) 推荐(0)
摘要:一、什么是STM32 STM32,从字面上来理解,ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起来理解,STM32 就是指 ST 公司开发的 32 位微控制器。 STM32 主要分两大块,MCU 和 MPU,MCU 就是我们常见的 STM32 微控制 阅读全文
posted @ 2023-10-21 17:26 星光映梦 阅读(350) 评论(0) 推荐(0)
摘要:一、C和C++混合开发 C++ 可以看作是 C 语言的增强版,在 C 的基础上扩展了更多的功能。一个 C 程序可以看作一个简单的 C++ 程序。但是 C++ 和 C 语言之间还是存在区别的。例如,C++ 支持函数名重载,而 C 不支持,因此编译器生成目标文件时,函数名在目标文件中的临时内部名称规则不 阅读全文
posted @ 2023-06-07 12:32 星光映梦 阅读(29) 评论(0) 推荐(0)
摘要:一、什么是多任务 如果一个操作系统上同时运行了多个程序,那么称这个操作系统就是 多任务的操作系统,例如:Windows、Mac、Android、IOS、HarmonyOS 等。如果是一个程序,它可以同时执行多个事情,那么就称为 多任务的程序。 一个 CPU 默认可以执行一个程序,如果想要多个程序一起 阅读全文
posted @ 2023-05-26 21:18 星光映梦 阅读(26) 评论(0) 推荐(0)
摘要:一、什么是RTTI机制 C++ 是一种静态类型语言。其数据类型是在编译期就确定的,不能在运行时更改。然而由于面向对象程序设计中多态性的要求,C++ 中的指针或引用(Reference)本身的类型,可能与它实际代表(指向或引用)的类型并不一致。有时我们需要将一个多态指针转换为其实际指向对象的类型,就需 阅读全文
posted @ 2023-05-24 21:55 星光映梦 阅读(31) 评论(0) 推荐(0)
摘要:一、什么是可调用对象 在 C++ 中,可调用对象(Callable Object)是指可以作为函数调用的对象。C++ 中有多种类型的可调用对象,包括: 函数:这是最直接的调用对象,可以是普通函数或成员函数。 函数指针:指向函数的指针也可以作为可调用对象。 Lambda 表达式:C++11 引入了 L 阅读全文
posted @ 2023-05-22 20:39 星光映梦 阅读(55) 评论(0) 推荐(0)
摘要:一、什么是右值引用 右值引用是 C++11 中引入的一种重要特性,它主要用于支持移动语义和完美转发。右值引用 是对右值(即临时对象或即将被销毁的对象)的引用,允许我们直接操作这些对象的资源,而无需进行拷贝。在 C++98 中,临时对象(右值)在赋值给函数参数时,只能被接受为 const 引用,这意味 阅读全文
posted @ 2023-05-20 20:54 星光映梦 阅读(130) 评论(0) 推荐(0)
摘要:一、什么是智能指针 当我们使用 new 关键字为指针变量动态申请内存时,但是使用完毕之后,我们可能会忘记使用 delete 关键字手动回收内存。因此,C++ 中提供了智能指针。当智能指针过期时,其析构函数将使用 delete 来释放内存。因此,如果将 new 返回的地址赋给智能指针对象,将无需手动释 阅读全文
posted @ 2023-05-18 22:29 星光映梦 阅读(36) 评论(0) 推荐(0)
摘要:一、深浅拷贝问题 在 C++ 中,对象的拷贝可以分为浅拷贝(Shallow Copy)和深拷贝(Deep Copy)。 浅拷贝 是指当一个对象拷贝另一个对象时,只是简单地复制了对象的各个成员变量的值,包括指向其他对象的指针。这意味着,如果源对象和目标对象中的成员变量是指针类型,那么浅拷贝只会复制指针 阅读全文
posted @ 2023-05-16 21:51 星光映梦 阅读(35) 评论(0) 推荐(0)
摘要:一、什么是正则表达式 正则表达式(regular expression)又称 规则表达式,是一种文本模式(pattern)。正则表达式使用一个字符串来描述、匹配具有相同规格的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式的核心功能就是处理文本。正则表达式并不仅限于某一种语言, 阅读全文
posted @ 2023-05-14 19:30 星光映梦 阅读(138) 评论(0) 推荐(0)
摘要:一、什么是Lambda函数 Lambda 函数是 C++11标准新增的语法糖,也称为 Lambda 表达式或匿名函数。Lambda 表达式是一种在被调用的位置或作为参数传递给函数的位置定义匿名函数对象(闭包)的简便方法。Lambda 表达式的基本语法如下: [capture list] (param 阅读全文
posted @ 2023-05-12 20:34 星光映梦 阅读(74) 评论(0) 推荐(0)
摘要:一、auto类型推断 C++ 11 之前,auto 与 static 是对应的,表示变量是自动存储的,但是非 static 的局部变量默认都是自动存储的,因此这个关键字变得非常鸡肋。在 C++ 11 中,为它赋予了新的含义,使用这个关键字可以自动推导出变量的类型。 C++ 11 中,auto 并不代 阅读全文
posted @ 2023-05-10 22:55 星光映梦 阅读(52) 评论(0) 推荐(0)
摘要:一、什么是STL 长期以来,软件界一直希望建立一种可重复利用的工具。C++ 的面向对象和泛型编程思想,目的就是提高软件的复用性。大多数情况下,数据结构和算法都未有一套标准,导致程序员被迫从事大量的重复工作。为了建立数据结构和算法的一套标准,STL 就应用而生了。 STL 的全程为:Standard 阅读全文
posted @ 2023-05-08 22:28 星光映梦 阅读(69) 评论(0) 推荐(0)
摘要:一、什么是类模板 类模板用于建立一个通用类,类中的成员数据类型可以不具体指定,用一个虚拟的类型来代替。它的语法格式如下: template<typename T> 类模板与函数模板相比主要有两点区别:1) 类模板没有自动类型推导的方式。2) 类模板在模板参数中可以有默认参数。 #include <i 阅读全文
posted @ 2023-05-06 20:29 星光映梦 阅读(52) 评论(0) 推荐(0)
摘要:一、什么是异常 程序在运行过程之中,不可避免的出现一些错误,比如:使用了没有赋值的变量、使用了不存在的索引、除 0 等等。这些错误在程序中,我们称之为异常。程序运行过程中,一旦出现异常将会导致程序立即终止,异常以后的代码全部都不会执行。 二、异常的传播 当在函数中出现异常时,如果在函数中对异常进行了 阅读全文
posted @ 2023-05-04 19:45 星光映梦 阅读(34) 评论(0) 推荐(0)
摘要:一、什么是友元 在程序中,有些私有成员,也想让类外特殊的一些函数或者类进行访问,就需要用到友元技术。友元的目的就是让一个函数或者类访问另一个类中私有的成员。友元的关键字为 friend。 二、全局函数做友元 新建一个 house.h 头文件,用来保存类的声明: #pragma once #inclu 阅读全文
posted @ 2023-05-02 20:13 星光映梦 阅读(49) 评论(0) 推荐(0)
摘要:一、面向对象的三大特征 面向对象的三大特征指的是 封装、继承、多态。 封装(encapsulation,有时称为数据隐藏)是处理对象的一个重要概念。从形式上看,封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式。 继承(inheritance)的基本思想是,可以基于已有的类创建新 阅读全文
posted @ 2023-04-30 20:01 星光映梦 阅读(68) 评论(0) 推荐(0)
摘要:一、什么是面向对象 对象(Object)是内存中专门用来存储数据的一块区域。对象中可以存放各种数据,比如:数字、布尔值、代码等。对象由 对象的标识(id)、对象的类型(type)和 对象的值(value)三部分组成。 C++ 支持面向对象编程。所谓的 面向对象 的语言,简单理解就是语言中所有操作都是 阅读全文
posted @ 2023-04-28 20:46 星光映梦 阅读(194) 评论(0) 推荐(0)

上一页 1 ··· 5 6 7 8 9 10 11 下一页