自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构算法刷题笔记——题型解法

v1.back();list<int> l 声明一个空链表list<int> l{1,2,3} 声明一个含指定元素的链表list<int> l(n) 声明一个含n个元素的链表并全部初始化为0list<int> l(n, m) 声明一个含n个元素的链表并全部初始化为mlist<int> l(a,b) 声明一个链表并初始化为区间[a,b]中的元素,a、b是迭代器//默认初始化一个空的整数队列//使用初始化列表初始化队列//使用q1来初始化q3// 初始化一个存储vector的队列。

2024-03-26 15:37:07 850

原创 MIT6.S081学习——二、相关命令行整理

运行 git diff 将显示自上次提交以来对代码的更改, git diff origin/util 将显示相对于初始xv6-labs-2020代码的更改。当你在util_test分支中每测试通过一个作业,请提交( git commit )你的代码,并将所做的修改合并( git merge )到util中,然后提交( git push )到github。答:在xv6中运行copy.c文件,你需要先将该文件添加到xv6源代码目录中,然后修改Makefile以将其编译进内核中。6、 xv6实验git分支建议。

2024-02-22 11:34:03 383

原创 MIT6.S081学习——一、环境搭建、资料搜集

MIT6.S081学习——一、环境搭建、资料搜集

2024-02-21 13:15:46 595

原创 FreeRTOS学习笔记——四、任务的定义与任务切换的实现

本章是我们真正从从0 到1 写FreeRTOS 的第一章,属于基础中的基础必须要学会创建任务,并重点掌握任务是如何切换因为任务的切换是由汇编代码来完成的,所以代码看起来比较难懂,但是会尽力把代码讲得透彻如果本章内容学不会,后面的内容根本无从下手在这章中:我们会创建两个任务,并让这两个任务不断地切换,任务的主体都是让一个变量按照一定的频率翻转通过KEIL 的软件仿真功能,在逻辑分析仪中观察变量的波形变化,最终的波形图具体见图。

2023-10-11 20:47:43 372

原创 FreeRTOS学习笔记——三、数据结构——列表与列表项讲解

FreeRTOS中存在着大量的基础数据结构列表和列表项的操作,要想读懂FreeRTOS的源码,必须弄懂列表和列表项的操作列表和列表项是从FreeRTOS源码的注释中的 list 和 listi tem 翻译过来的,其实就是C语言中的链表和节点后续内容中,链表就是列表节点就是列表项链表作为C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多链表分为单向链表和双向链表,单向链表很少用,使用最多的还是双向链表。

2023-10-08 11:28:09 185

原创 FreeRTOS学习笔记——二、裸机系统与任务系统

在真正开始动手写 RTOS 之前,我们先来讲解下单片机编程中的裸机系统和多任务系统的区别。

2023-10-08 09:29:21 157

原创 FreeRTOS学习笔记——一、初识FreeRTOS

野火®]《FreeRTOS 内核实现与应用开发实战—基于STM32》不能进行跳跃式的阅读。

2023-10-07 10:07:49 162

原创 STM32学习笔记——十九、I2C——读写EEPROM

STM32F10X-中文参考手册》I2C 章节及《I2C 总线协议》若对I2C 通讯协议不了解,可先阅读《I2C 总线协议》文档的内容学习关于EEPROM 存储器请参考“常用存储器介绍”章节实验中的EEPROM,请参考其规格书《AT24C02》来了解。I2C通讯协议引脚少、硬件实现简单可扩展性强不需要USART、CAN等通讯协议的外部收发设备被广泛使用在系统内多个集成电路(IC)间的通讯通讯协议可以分层方式来简化并理解最基本的是分为物理层和协议层物理层。

2023-09-26 10:15:40 330 1

原创 STM32学习笔记——十八、常用存储器介绍

对比DRAM 与SRAM 的。

2023-09-24 21:51:27 853

原创 STM32学习笔记——十七、DMA——直接存储区访问

本章参考资料:《STM32F10X-中文参考手册》DMA 控制器章节。DMA直接存储器存区单片机的一个外设主要功能:用来数据搬运,且不需要占用CPU传输数据时,CPU可以干其他事情数据传输从外设到存储器从存储器到存储器存储器可以是SRAM或者FLASHDMA控制器DMA1有7个通道DMA2有5个通道(主要用于大容量产品和互联型产品中)1 // 当使用存储器到存储器模式时候,通道可以随便选,没有硬性的规定45 // 传输完成标志78 // 要发送的数据大小10。

2023-09-24 16:02:05 59

原创 数据结构算法刷题笔记——一、极简随记(1.1数组、链表、队列、栈)

给长度相等的数组nums1和nums2,重新组织nums1中元素的位置,使得nums1的优势最大化。如果nums1[i] > nums2[i],就说nums1在索引i上对nums2[i]有优势,优势最大化就是重新组织nums1,尽可能多的让nums1[i] > nums2[i]如果nums2的⻢能赢,那就⽐赛,如果赢不了,那就换个垫底的来送⼈头,保存实⼒。:给一个仅包含字母的字符串,取出字符串中重复的字母,使得每个字母只出现一次,需保证返回结果的字典序最小,要求不能打乱其他字符的相对位置。

2023-09-18 11:19:29 130

原创 STM32学习笔记——十六、USART——串口通讯

STM32F10X-中文参考手册》USART 章节配合《STM32F10X-中文参考手册》USART 章节一起阅读以STM32F103 系列控制器资源讲解串口通讯(Serial Communication):一种设备间非常常用的串行通讯方式在计算机科学里,大部分复杂的问题都可以通过分层来简化。对于通讯协议,我们也以分层的方式来理解:最基本的是把它分为物理层和协议层。物理层:规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层。

2023-09-15 20:17:57 216 1

原创 STM32学习笔记——十五、通讯的基本概念

1.在计算机之间或之间常常需要进行数据传输2.后面的章节中会学习到各种各样的,所以在本章中统一介绍这些。

2023-09-15 15:02:19 39

原创 Libigl学习笔记——二、第七章——其他

Libigl学习笔记——二、第七章——其他第七章7.1 网格统计 Mesh Statistics7.2 广义绕组数 Generalized Winding Number7.3 网格抽取 Mesh Decimation7.4 有符号距离 Signed Distances7.4.1 点位置 Point Location7.4.2 最近点 Closest Points7.4.3 符号距离 Signed Distance7.5 行进立方体 Marching Cubes7.6 小平面方向 Facet Orienta

2023-09-12 20:36:37 1504

原创 Libigl学习笔记——二、第六章——外部库

并集、对称差分和“决心”具有相同的外观,但对内部结构的处理不同。对称差值是与“解决”相同的三角形集,但内表面的方向已反转,表明操作的固体结果。“解析”运算并不是真正的布尔运算,它只是解析所有交点并将重合顶点粘合在一起,保持原始三角形方向的结果。从左到右:并集、交集、集合减去、对称差分 (XOR)、“求解”。Libigl还为软木塞提供了一个包装纸 igl::copyleft::cork::mesh_boolean ,它通常更快,但并不总是坚固的。渲染的没有(左)和(右)环境光遮蔽的网格。

2023-09-12 16:50:44 245

原创 Libigl学习笔记——二、第五章——参数化

Libigl学习笔记——二、第五章——参数化第五章5.1 谐波参数化 Harmonic Parametrization5.2 最小二乘共形映射 Least Squares Conformal Maps5.3 尽可能刚性参数化 Least Squares Conformal Maps5.4 N 旋转对称切场 N-rotationally Symmetric Tangent Fields5.5 全局无缝整数网格参数化 Global, Seamless Integer-grid Parametrization5.

2023-09-12 16:06:57 450

原创 Libigl学习笔记——二、第八章——参考文献

扫描曲面和体积的隐式建模,1994 年。阿米尔·瓦克斯曼、马塞尔·坎彭、奥尔加·迪亚曼蒂、丹尼尔·帕诺佐、大卫·博姆斯、克劳斯·希尔德布兰特、米蕾拉·本-陈。奥尔加·索金、亚龙·利普曼、丹尼尔·科恩-奥尔、马克·亚历克萨、克里斯蒂安·罗斯尔和汉斯-彼得·塞德尔。马蒂亚斯·埃克、托尼·德罗斯、汤姆·杜尚、休格斯·霍普、迈克尔·朗斯伯里、维尔纳·斯图茨尔。亚历克·雅各布森、伊利亚·巴兰、拉迪斯拉夫·卡万、约万·波波维奇和奥尔加·索尔金。加文·巴里尔、尼尔·迪克森、瑞安·施密特、大卫·莱文、亚历克·雅各布森。

2023-09-12 12:03:54 190

原创 Libigl学习笔记——二、第四章——形状变形

Libigl学习笔记——二、第四章——形状变形第四章4.1 双谐波变形 Biharmonic Deformation4.1.1 双谐波曲面 Biharmonic Surfaces4.1.2 双谐波变形场 Biharmonic Deformation Fields4.1.3 与“微分坐标”的关系和拉普拉斯曲面编辑 Relationship To “differential Coordinates” And Laplacian Surface Editing4.2 多谐波变形 Polyharmonic Def

2023-09-12 11:36:28 297

原创 Libigl学习笔记——二、第三章——矩阵和线性代数

Libigl 严重依赖特征库来实现密集和稀疏的线性代数例程。除了几何处理例程之外,libigl 还有线性代数例程,它可以引导特征,使其感觉更类似于 Matlab 等高级代数库。

2023-09-11 21:25:35 186

原创 Libigl学习笔记——二、第二章——离散几何量和算子

本章说明了 libigl 可以在网格上计算的几个离散量,以及构造常用离散微分几何算子的 libigl 函数。它还介绍了查看器的基本绘图和着色程序。

2023-09-11 20:21:19 442

原创 Libigl学习笔记——二、第一章——Libigl官方教程学习

例108)可以使用 igl::opengl::glfw::Viewer 多个视图渲染同一场景,每个视图都有自己的属性,如颜色和单独的网格可见性。例107) igl::opengl::glfw::Viewer 可以渲染多个网格,每个网格都有自己的属性,如颜色。Libigl 为 igl::opengl::glfw::Viewer 渲染具有多个视图的网格提供了基本支持。Libigl为渲染多个网格 igl::opengl::glfw::Viewer 提供了基本支持。s 光滑组(Smoothing group)

2023-09-11 17:49:14 764 3

原创 Libigl学习笔记——一、Libigl下载、编译与VS2019联调

后续利用Libigl进行二次开发,可以利用这些静态链接库进行项目配置。同时如果有的库没生成,可以将对应项目设置为启动项目,重新编译一下,生成对应的静态链接库。Release/Debug x64 模式均编译一次,在build/lib对应文件夹下生成对应版本的静态链接库,可以后续加入到某一个VS的工程文件中进行使用。进行编译,可以正常进行运行,说明CMake步骤没问题。把其放在D盘等盘内,在目录下新建一个。文件,自动打开VS2019项目。把其中一个项目设定为启动项目。配置VS2019的编译选项。

2023-09-11 15:34:05 539 1

原创 数据结构算法刷题笔记——二、2.3 priority_queue

优先队列(priority_queue):本质是heap(堆),内部实现是一个二叉堆是一个队列,“优先”意指取队首元素时,有一定的选择性,即根据元素的属性选择某一项值最优的出队优先队列其实就是把堆模板化,将所有入队的元素排成具有单调性的一队,方便我们调用优先级队列是一个拥有权值观念的queue。它允许在底端添加元素、在顶端去除元素、删除元素。缺省情况下,优先级队列利用一个大顶堆完成普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除优先队列中,元素被赋予优先级。

2023-09-11 09:36:10 46

原创 数据结构算法刷题笔记——二、2.2 map 与 unordered_map

unordered_map是C++标准库提供的关联容器之一,保存的是键值对(key-value),可以高效的根据单个key值查找对应的valuekey 值应该是唯一的,key和value 的数据类型可以不相同键(key;it->first)-值(value;底层使用的数据结构是哈希表(hash table), 存储元素时是没有顺序的,只是根据key的哈希值,将元素存在指定位置,所以根据key查找单个value时非常高效,平均可以在常数时间内完成。

2023-09-10 23:28:42 70 1

原创 数据结构算法刷题笔记——五、字符串

引入串的目的:计算机上非数值处理的工作越来越多,引入对字符的处理串:由零个或多个字符组成的有限序列,又叫字符串一般记为:s=“a1a2…an”(n>=0)串的名称:s串的值:双引号括起来的字符串的位置:i长度:串中字符数目n有限:指长度n是一个有限的数值空串:另个字符的串,“”序列:串的相邻字符之间具有前驱和后继的关系空格串:只包含空格的串子串:串中任意个数的连续字符组成的子序列,称为该串的子串主串:包含子串的串,成为珠串子串在主串中的位置:子串的第一个字符在主串中的序号。

2023-09-10 11:25:10 72 1

原创 STM32学习笔记——十四、SysTick——系统定时器

本章参考资料《Cortex-M3 内核编程手册》-4.5 章节SysTick Timer(STK)《Cortex-M3 内核编程手册》4.48 章节SHPRx,其中STK 这个章节有SysTick 的简介和寄存器的详细描述因为SysTick 是属于CM3 内核的外设,有关寄存器的定义和部分库函数都在core_CM3.h 这个头文件中实现学习SysTick 的时候可以参考这两个资料,一个是文档,一个是源码。系统定时器 SysTic属于CM3 内核中的一个外设,内嵌在NVIC 中。

2023-09-06 20:30:32 1059 1

原创 STM32学习笔记——十三、EXTI——外部中断/事件控制器

本章参考资料:《STM32F10X-中文参考手册》中断和事件章节《STM32F10X-中文参考手册》8.4 章节AFIO 寄存器描述本节内容:NVIC 的实例应用也是STM32F10x 控制器非常重要的一个资源针对STM32F10X 系列控制器外部中断/事件控制器 EXTI管理控制器的20个中断/事件线每个中断/事件线都对应一个边沿检测器可实现输入信号的上升沿检测和下降沿检测可以对每个中断/事件线进行单独配置单独配置为:中断或者事件触发事件属性。

2023-09-06 12:03:56 489 1

原创 STM32学习笔记——十二、STM32中断应用总结

本章参考资料:《STM32F10X-中文参考手册》《Cortex-M3 内核编程手册》-4.3 章节:NVIC《Cortex-M3 内核编程手册》4.4章节:SCB—4.4.5 的AIRCR。STM32 中断非常强大,每个外设都可以产生中断,中断的讲解放在哪一个外设里面去讲都不合适,单独抽出一章来做一个总结性的介绍异常就是中断,中断就是异常NVIC:嵌套向量中断控制器控制整个芯片中断相关的功能是内核里面的一个外设,跟内核紧密耦合。

2023-09-06 10:37:34 235 1

原创 STM32学习笔记——十一、RCC使用HSE/HSI配置时钟

是microcontroller clock output 的缩写,是微控制器时钟输出引脚。软件延时函数,使用不同的系统时钟,延时时间不一样,可以通过LED 闪烁的频率来判断。(APB总线时钟):系统时钟SYSCLK经过AHB预分频器分频后得到的时钟。,不仅HSE 不能使用,连PLL 也会被关闭,这个时候系统会。控制AHB、APB2、APB1三条总线时钟的开启。由HCLK经过告诉APB2经过预分频器得到。由HCLK(AHB总线时钟) 8 分频得到。如果PLL 的时钟来源是HSE,那么当。

2023-09-05 12:04:19 986 1

原创 数据结构算法刷题笔记——二、2.1 vector

vector是STL的动态数组,可以在运行中根据需要改变数组的大小。以数组的形式储存,所以它的内存空间是连续的进行vector操作前应添加头文件vector是向量类型,可以容纳许多类型的数据,因此也被称为容器vector是种容器,类似数组一样,但它的size可以动态改变。vector的元素在内存中连续排列,这一点跟数组一样。这意味着我们元素的索引将非常快,而且也可以通过指针的偏移来获取vector中的元素。连续排列也带来了弊端。

2023-09-03 21:52:17 70

原创 数据结构算法刷题笔记——四、栈与队列

栈(stack):是限定仅在表尾进行插入和删除操作的线性表栈顶:允许插入和删除的一端栈底:栈顶的另一端空栈:不含任何数据元素的栈LIFO:别名,后进先出(Last InFirst Out)的线性表栈是线性表栈元素具有线性关系(前驱后继关系)表尾——栈顶表头——栈底插入操作:进栈、压栈、入栈删除操作:出栈、弹栈递归函数:直接调用自己或通过一系列的调用语句间接地调用自己的函数每个递归定义必须至少有一个条件,满足时递归不再进行,即不再引用自身而是返回值推出迭代和递归的区别迭代。

2023-09-03 14:12:54 81

原创 STM32学习笔记——七、寄存器点亮LED灯

根据LED灯电路原理图,可以获知LED灯R、G、B分别连接PB5、PB0、PB1的GPIOB的5、0、1引脚。:在编程之前我们要先实现寄存器映射,有关寄存器映射的代码都统一写在stm32f10x.h 文件中。:LED灯依次亮红、绿、蓝、灭四种状态,每种状态持续时间大概1秒多。:简单介绍,后续《启动文件详解》章节详细介绍。

2023-08-28 12:33:14 317 1

原创 数据结构算法刷题笔记——三、线性表

线性表:零个或多个数据元素的有限序列记为:是序列,元素之间有顺序直接前驱元素直接后继元素(第一个无前驱,最后一个无后继)位序:第i个数据元素,i为其在线性表中位序是有限的线性表长度:线性表元素个数n,空表:n=0数据元素一个数据元素,可以由若干数据项组成线性表的顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素。链式存储结构:n个结点(ai的存储映像)链接成一个链表,即为线性表(a1,a2,…,an)的链式存储结构单链表:每个结点中只包含一个指针域特点。

2023-08-28 12:32:42 56 1

原创 STM32学习笔记——六、启动文件详解

简单介绍,后续《启动文件详解》章节详细介绍芯片上电后,首先执行这个汇编程序,建立起C语言的运行环境使用汇编语言写好了基本程序(Cortex-M3内核支持的指令)由官方提供(可在官方基础上修改)(ST固件库里面找到,复制添加到工程项目中即可)(不同型号芯片、编译环境使用的汇编文件是不一样的)功能- 初始化堆栈指针SP = _initial_sp;- 初始化程序计数器指针PC = Reset_Handler;- 初始化中断向量表;

2023-08-25 22:13:35 823 1

原创 STM32学习笔记——五、GPIO剖析

GPIO:通用输入输出端口的简称(General-purpose input/output)STM32可控制的引脚STM芯片的GPIO引脚与外部设备链接起来,实现与外部通讯、控制及数据采集的功能STM32芯片的GPIO被分成了很多组,每组有16个引脚STM32F103ZET6 的芯片有GPIOA、GPIOB、GPIOC 至GPIOG 共7 组GPIO,芯片一共144 个引脚其中GPIO 就占了一大部分,所有的GPIO引脚都有基本的输入输出功能。控制引脚输出高、低电平检测外部输入电平。

2023-08-23 19:27:24 75

原创 STM32学习笔记——四、存储器和寄存器映射

操作符操作符作用操作符示例>>8>>38右移3位<<1<<61左移6位&=按位与后赋值(两个二进制的对应位都为1时,结果为1,否则结果等于0)^=按位异或后赋值(两个二进制的对应位相同,结果为0,否则结果为1)|=按位或后赋值(两个二进制对应位都为0时,结果等于0,否则结果等于1)

2023-08-23 12:47:52 711

原创 STM32学习笔记——三、STM32架构

芯片型号STM32F103ZET6Z(引脚数):144pin,左下角小圆点为1脚,然后逆时针顺序排列E(FLASH大小):512KBT(封装):QFP封装,最常用的6(温度):等级A,-40~85度ARM内核(基于Cortex-M3 内核,主频75MHZ)

2023-08-22 10:24:59 543 1

原创 STM32学习笔记——二、Keil5等软件安装、配置、程序烧录

单片机的细节比较多,需要特别注意,不要忽略细节,找错误可能会耗费大量时间。

2023-08-20 00:32:48 3002

原创 STM32学习笔记——一、开发板选择

STM32学习笔记——一、开发板选择1、开发板选择2、相关的资料汇总3、参开资料1、开发板选择目前市面上比较常见和教学资料形成规模的有:正点原子、野火、韦东山。经过三者的资料收集和对比,三者最基础的开发板都是F103,作为初学者入门学习应该足够。资料上我觉得野火和正点原子最初就是做单片机的,所以选择这两个相对于韦东山的比较好(韦东山是从Linux转到单片机来的)。野火和正点原子的STM32教程比较类似,学习的内容、呈现形式差不多。对比后我觉得野火的pdf文本资料更多,所以选择了野火开发板。这三个

2023-08-19 23:52:02 1408

原创 数据结构算法刷题笔记——二、线性结构(2.1线性表)

int Last;List Prtl;

2023-08-15 10:30:00 63

空空如也

空空如也

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

TA关注的人

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