- 博客(33)
- 收藏
- 关注
原创 数据结构——队列
队列(Queue)是一种先进先出(First In First Out:FIFO)的线性表。它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。队列的这种特性使得它非常适合用于那些需要按顺序处理元素的场景,如任务调度、缓冲区管理等。
2024-08-13 01:11:01
1083
原创 数据结构——栈(Stack)
栈是一种线性表(俗称堆栈),它限制只能在一端(称为栈顶)进行插入和删除操作,另一端(称为栈底)是固定的,不允许进行插入和删除操作,栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针,当栈中没有元素时称为“空栈”。最大特点 :后进先出(LIFO)。
2024-08-10 00:12:28
882
原创 数据结构——单向链表
链表(Linked List)是一种常见的数据结构,它属于线性表的一种链式存储结构,其逻辑上相邻的元素在物理存储位置并不相邻。它由一系列节点(Node)组成,每个节点包含数据部分和指向列表中下一个节点(或者上一个节点)的指针(链接)。链表中的节点通过指针相互连接,从而形成一个序列。链表可以分为几种不同的类型,但最常见的是单向链表和双向链表。
2024-08-04 17:29:18
938
原创 STM32——外部中断(EXTI)
外部中断(External Interrupt,简称EXTI)是微控制器用于响应外部事件的一种方式,当外部事件发生时(如按键按下、传感器信号变化等),微控制器会暂时停止当前正在执行的程序,转而执行相应的中断服务程序(ISR),处理完中断后再回到原来的程序继续执行。STM32的外部中断是STM32微控制器中一个重要的功能,用于接收和处理来自外部设备的信号或事件,在一定程度上提升了系统的实时性能。STM32的每个GPIO(通用输入输出)端口都支持外部中断功能,这使得STM32能够灵活地处理各种外部事件。
2024-08-03 23:59:26
1162
原创 数据结构——顺序表
顺序表是数据结构中的一种重要形式,它属于线性表的一种顺序存储结构,其逻辑上相邻的元素在物理存储位置上也相邻。用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。
2024-08-03 21:06:31
1018
原创 2024电赛H题相关代码及算法——自动行驶小车
小编分享了2024电赛H题参考方案(+视频演示+核心控制代码)——自动行驶小车文章后,于是根据其中问题写了一些可能用到的参考代码,希望能帮助大家,有问题欢迎大家指出。代码仅作参考,有误之处多担待。
2024-07-30 23:23:01
3102
13
原创 2024电赛H题参考方案(+视频演示+核心控制代码)——自动行驶小车
此次电赛的H题属于控制类题目,相较于往年较为简单,功能也算单一,四个题目的时间要求都不是很高,容易得分,其中主要难点可能是TI芯片了,但是资源丰富,那也就不是问题了。控制的难点就在与ABCD四点之间的丝滑连接,如何让小车又快又稳的运行,最后比拼的就是时间了,可能也是比赛现场的重点评判标准,毕竟选择该题的人多。
2024-07-29 14:27:36
17279
40
原创 STM32——GPIO(基本原理+固件库+CubeMX)
只要涉及单片机,必定先了解其I/O,而STM32单片机的GPIO模式种类多样,功能丰富,学会了它,其他MCU就可举一反三了。
2024-07-29 00:40:42
760
原创 视觉巡线小车(STM32+OpenMV)——总结
基于前面的系列文章,已基本介绍完了基于STM32+OpenMV的视觉巡线小车,本文将以小编自己的小车对其进行一下总结。如果完成了前面视觉巡线小车——STM32+OpenMV系列文章的内容,那么已经实现了一辆基于STM32+OpenMV的视觉巡线小车了。到此你已经学到了:直流减速电机的控制;编码器测速;STM32——定时器(PWM、正交编码、中断)、串口等;OpenMV——图像二值化,线性回归处理等等。
2024-07-27 17:06:15
1426
15
原创 C语言——结构体(struct)对齐
本文主要介绍C语言中,结构体的对齐规则、如何改变对齐数,对齐规则对内存的影响以及如何减小结构体占用的内存。了解结构体的对齐规则对于提高内存使用效率、保证访问速度、避免硬件异常以及提高代码的可移植性都具有重要意义。在编写涉及结构体操作的代码时,我们应该了解和考虑这些对齐规则。
2024-07-25 01:07:34
1016
1
原创 Linux用户和权限
Linux系统是一个多用户、多任务的操作系统,其用户和权限的管理是系统安全性的重要组成部分。Linux 中的用户分为不同的角色,每个用户都有特定的权限来访问或修改系统资源。Linux常用命令详解Linux 的用户和权限管理是实现系统安全和有效操作的关键。通过理解用户和组的概念,以及如何设置和修改文件与目录的权限,可以更好地控制谁可以访问系统资源以及他们可以执行哪些操作。
2024-07-23 22:00:25
883
1
原创 C语言——内存管理
C语言中,内存管理需要对静态和动态内存分配,静态分配在编译时确定,而动态分配(如malloc, calloc, realloc)则在运行时进行,需程手动管理,包括适时释放(用free)以避免内存泄漏。同时,了解栈、堆、数据区、代码区等内存区域的特性和用途,对于有效管理内存至关重要。
2024-07-23 14:39:44
1325
原创 视觉巡线小车——STM32+OpenMV
该系列文章主要介绍,如何使用来实现一个基于视觉处理的自主巡线小车。主要包括,减速电机的驱动,速度采集,PID速度闭环控制,PID参数整定,OpenMV黑线视觉处理,串口数据解析,最后小车巡线闭环控制。功能还是比较单一,最终只实现了小车的巡线功能,其他功能可自行补充丰富。
2024-07-21 16:58:59
2032
原创 视觉巡线小车——STM32+OpenMV(三)
通过本文,使用OpenMV得到中心线偏离黑线的像素点偏差和角度偏差,再将数据打包通过串口发送给STM32,最后在STM32上将数据解析出来,以便后续控制运用。
2024-07-21 15:39:14
1488
12
原创 视觉巡线小车——STM32+OpenMV(二)
通过本文,使减速电机实现了速度闭环控制,利用野火PID调试助手进行PID参数的整定,得到满意的参数。
2024-07-21 14:54:27
1564
3
原创 视觉巡线小车——STM32+OpenMV(一)
通过本文,就可以对减速电机进行简单的控制,以及速度的采集了。同时可以自行加入OLED等显示屏,显示所采集的速度,也可以通过配置串口进行打印观察。
2024-07-21 13:33:08
1720
原创 51单片机——C51
通过使用C语言可以进行对MCS—51单片机的开发,实现各种外设功能,我们称用来开发51单片机的“C语言”为C51。C51是基于标准C、专门为开发51单片机而设计的,与标准C有一定区别,有很多内容是专门为51单片机设定的。
2024-02-11 19:25:13
2279
2
原创 STM32——驱动外设的原理
也许你可能知道,STM32的外设功能是由STM32的内核(CPU)通过配置各种外设的寄存器来实现的。那么,这篇文章就来揭秘这个神秘的过程,到底是怎样配置寄存器才能达到控制外设的目的,进而实现各种复杂的功能的。
2024-02-07 00:11:33
1601
1
原创 STM32内核——Cortex M3
本文主要介绍STM32的内核——Cortex M3,同时来见见STM32的CPU,看它是如何让控制各种功能的。
2024-02-05 03:03:11
3264
2
原创 什么是中断
中断是指计算机在执行程序的过程中,出现某些事件需要立即处理时,CPU暂时中止正在执行的程序,转去执行对某种请求的处理程序。当处理程序执行完毕后,CPU再回到先前被暂时中止的程序继续执行。
2024-02-04 23:04:12
1790
2
原创 51单片机内核及其工作原理
51单片机(MCS—51)是一款比较适合新手入门的单片机,通过对51单片机的学习,打好基础,就可以轻松过渡到其他比较复杂的单片机上去(如STM32,MSP430等)。本文主要对51单片机的内核、硬件结构、工作原理、内部运行过程等进行介绍。
2024-02-01 22:27:59
3676
4
原创 冯诺依曼结构与哈佛结构
在学习微机(单片机等)的内核,或者理解微机运行程序的过程及原理时,就需要先了解其内核方面的基础内容,本文将介绍:1、冯诺依曼结构;2、哈佛结构;3、改进型哈佛结构;4、混合式结构以及他们各自特点等。
2024-01-27 16:46:18
2029
3
原创 微机基础概念及其内容
微机是微型计算机的简称,如单片机就是微机的一种。在学习单片机等相关知识时,往往需要知道一定的基础概念及相关内容,如CPU、存储器、I/O单元、数制运算、数制转换等等,同时在了解微机的运行过程和运行原理时,需要更好的掌握相关内容,把握基本框架。
2024-01-26 20:59:40
1315
5
原创 STM32单片机最小系统
STM32单片机的最小系统,即让单片机能够正常运行所需要的最少电路组成,也可以说是单片机能够正常工作的最小环境,其中主要包括STM32单片机芯片、晶振电路(时钟电路)、复位电路、启动电路、电源电路。
2024-01-11 14:00:07
2622
2
原创 STM32如何启动
了解stm32启动文件有助于大家对其运行状态的理解,其中主要的三件事就是,__栈和堆的初始化、定位中断向量表、调用Reset Handler__。
2023-12-30 21:30:34
618
2
原创 C语言——难点关键字(extern、static、struct、enum、union、volatile)
重点关键字extern、static、struct、enum、union、volatile详解
2023-08-07 18:34:12
673
2
原创 C语言——关键字
C语言的关键字共预留了32个,是在C语言标准中定义的,具有特殊含义和功能。包含auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while
2023-08-01 13:15:14
172
1
原创 C语言——结构体(Struct)详解+运用举例
结构体(Struct)是一种数据类型,用于将不同类型的变量组合在一起形成一个新的数据结构。它允许我们在单个实体中存储和操作多个相关的变量。结构体可以包含不同类型的成员变量。那么具体可以包含哪些类型呢?在实际运用中该怎么用呢?
2023-07-27 16:45:24
3561
2
视觉巡线小车(STM32+OpenMV)完整工程
2024-07-31
2024电赛STM32+OpenMV版完整工程(主要展示小车控制方案)
2024-07-31
电脑清理残留注册表神器-CCleaner
2024-07-27
基于STC89C51单片机的智能时钟Keil工程
2024-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人