自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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(四)

通过以上三篇文章已将基本条件实现,本文将结合以上内容,进行综合控制,实现小车的视觉巡线功能。

2024-07-21 16:07:43 780

原创 视觉巡线小车——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

原创 C语言——函数指针与指针函数

函数指针与指针函数有什么区别?

2024-05-19 21:23:41 750 1

原创 Linux常用命令详解

本文主要讲述Linux常用命令,相关内容详尽,每个命令都有实例,同时加入了注释,清晰明了,欢迎大家查看。

2024-03-09 14:37:18 1014 2

原创 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

原创 机器语言、汇编语言、高级语言

用于程序设计的语言基本上分为3种:机器语言、汇编语言和高级语言。那么,你知到他们都有哪些特别之处吗?

2024-01-31 20:42:25 2041 1

原创 冯诺依曼结构与哈佛结构

在学习微机(单片机等)的内核,或者理解微机运行程序的过程及原理时,就需要先了解其内核方面的基础内容,本文将介绍: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语言——“#”号

在C语言中有着许许多多的符号,下面就一起来看看(#)这一符号吧,它有着许许多多的功能。

2023-08-12 21:31:16 4617 6

原创 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)完整工程

【效果展示】具体效果可参考文章——视觉巡线小车(STM32+OpenMV)——总结(https://blog.csdn.net/qq_67319052/article/details/140735551),实现了丝滑、快速、稳定的巡线功能。 【工程具体内容】 1、直流减速电机的控制,通过TB6612实现;2、编码器测速;3、STM32——定时器(PWM、正交编码、中断)、串口等;4、OpenMV——图像二值化,线性回归处理等;5、PID算法——速度环、转向环控制以及串级使用; 6、数据解析——串口接收处理。 【支持二次开发】 其中包含STM32CubeMX生成的Keil工程,需要添加外设功能时,可用CubeMX打开进行配置;OpenMV图像处理代码示例,可自行修改代码,实现更多识别功能以及进一步优化代码;以及一个简单的配置调试流程,也可参看本文后续内容。写这个示例,主要是为了方便后续的二次开发,比如在遇到各种设计以及巡线作品制作时,只需要在此基础上添加相关功能即可,避免每次都从零开始。

2024-07-31

2024电赛STM32+OpenMV版完整工程(主要展示小车控制方案)

由于小编没有电赛器材,所以就以STM32为主控,OpenMV摄像头巡线的方案进行演示2024电赛H题(视频演示请查看:https://blog.csdn.net/qq_67319052/article/details/140763678)。但控制方案、巡线原理都一样,都是通过控制黑线与中心线的偏差关系,只是电赛官方要求,不准用摄像头,但用灰度传感器也一样。通过灰度传感来获取偏差,灰度优点是点位准确,只是数据相对摄像头获取的较为离散,但用来控制,也完全足够了。 该方案基本可行,速度稳定且并未到达该车上限,需要进一步的优化控制逻辑,这里使用的是统一速度行驶,可采取变速行使,可进一步提高稳定性和减少整体耗时。其中使用的MPU6050存在零漂等,准确度不好,如能用算法解决,稳定性可进一步提高,其次该车的初始摆放位置较为重要, 初始角度为后续转向的参考。若采用四轮小车,只需将左边两轮和右边两轮进行分别同步即可,可能还需要微调参数。 控制的难点就在与ABCD四点之间的丝滑连接,如何让小车又快又稳的运行,最后比拼的就是时间了。

2024-07-31

电脑清理残留注册表神器-CCleaner

免费、免安装的单文件,简单适用。CCleaner拥有强大的注册表清理功能,能够检测并修复无效的注册表项、缺失的共享DLL引用、软件卸载残留等,避免注册表冗余导致的系统卡顿、启动慢等问题。同时也不止有清理注册表的功能。CCleaner因其全面的清理功能、显著的性能提升效果以及便捷易用的特点,赢得了广泛的用户好评。无论是个人用户还是企业用户,都可以从中受益。对于个人用户而言,CCleaner可以帮助他们保持系统的整洁与安全,提升计算机的运行速度;对于企业用户而言,CCleaner则可以作为系统维护的重要工具,提高员工的工作效率,保障企业信息的安全。CCleaner支持多种操作系统和浏览器,包括Windows、Mac、Android等。

2024-07-27

基于STC89C51单片机的智能时钟Keil工程

通过数码管显示年、月、日、时、分、秒;同时可以通过按键修改时间。其中包含最简单的按键消抖、简单C语言语句的运用、数码管的动态显示、74HC573数字芯片的运用、51单片机定时器中断的使用;适合新手观看,主要提供一点思路。

2024-07-27

空空如也

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

TA关注的人

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