自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构-串-模式匹配算法(KMP算法)

KMP 算法的时间复杂度为 O(m+n),其中 m 是模式串的长度,n 是主串的长度。KMP 算法的空间复杂度为 O(m)。不论在最好、最坏还是平均情况下,KMP 算法的效率都优于简单的暴力匹配算法,特别是在处理长字符串时。int j = 0;:用于遍历模式串S的当前位置。:初始化next数组的第一个元素为-1,表示模式串的第一个字符之前没有任何字符(即没有前后缀)。int k = -1;:作为辅助变量,用于在next数组中回溯。初始化为-1,与next[0]

2024-08-21 22:23:09 1092

原创 数据结构-串-了解串-串的基本操作

使用一个固定长度的数组来存储串中的字符。数组的大小在定义时就确定,通常在数组的最后一个位置放置一个特殊字符(如空字符。

2024-08-21 18:05:09 997

原创 数据结构-队列

队列是一种先进先出(FIFO, First In First Out)的数据结构。它的基本特性是:在队列中,元素的插入(入队)发生在队尾,元素的删除(出队)发生在队头。队列通常用于需要按顺序处理数据的场景。

2024-08-20 14:16:28 477 1

原创 数据结构-栈

栈是一种简单而重要的数据结构,广泛应用于计算机科学和编程中,尤其是在管理函数调用、表达式求值和实现算法时。由于其特有的LIFO特性,栈能够有效地处理需要临时存储和后续访问的元素。

2024-08-19 18:00:00 513

原创 数据结构-线性表-了解循环链表

单循环链表适合需要单向遍历的场景,结构简单,内存占用较少。双循环链表则提供了双向遍历的能力,适合需要频繁前后移动的场景,但内存占用相对较高。数据结构-线性表-单链表。

2024-08-18 10:12:48 265

原创 数据结构-线性表-单链表

单链表是一种基本的线性数据结构,由多个节点组成,每个节点包含数据域和指向下一个节点的指针。

2024-08-17 19:19:44 849

原创 了解指针使用

指针是强大而灵活的工具,但同时也需要谨慎使用,以避免潜在的错误和内存问题。理解指针的基本概念和操作是学习低级编程语言的重要一步。

2024-08-17 16:41:03 134

原创 数据结构-线性表-顺序表

顺序表(也称为线性数组)是一种线性数据结构,它将数据元素按顺序存储在一块连续的内存空间中。元素的顺序性:顺序表中的元素具有线性关系,每个元素都有一个唯一的位置(索引),可以通过索引直接访问。存储方式:顺序表的元素在内存中是连续存储的,这使得可以通过简单的下标访问实现快速的随机访问,时间复杂度为 O(1)。固定大小:在创建顺序表时,通常需要指定其最大容量,虽然可以通过动态数组等形式实现扩展,但扩展过程可能涉及到大量的数据复制。插入与删除操作。

2024-08-15 18:29:56 1277

原创 数据结构--数据结构概述

了解数据结构

2024-08-14 19:26:48 945

原创 24电赛H题总结

yaw_adjusttarget(目标偏航角)、now_yaw(当前偏航角)、speed(基础速度)和B(调整系数),用于调整车辆或机器人的左右电机速度,以修正其行进方向。欧拉角 (pitchrollyaw: 这里定义了三个欧拉角,但pitch和roll被初始化为0且未在后续代码中使用,可能是预留的变量或用于其他目的。yaw用于存储从某个函数(假设是yaw_out())获取的当前偏航角,但实际上被now_yaw变量覆盖。now_yaw: 存储当前的偏航角,用于与初始偏航角yaw_init进行比较和调整。

2024-08-13 17:33:17 747

原创 STM32杂交版(HAL库、音乐盒、闹钟、点阵屏、温湿度)

本设计是一个高度集成的基于STM32MP157A单片机的多功能系统,通过整合蜂鸣器、数码管、点阵屏、温湿度传感器、LED灯、按键等多种模块,实现了丰富的交互与功能。系统利用STM32CUBEIDE作为开发平台,充分发挥了STM32MP157A单片机的高性能与灵活性,展现了其在嵌入式系统设计中的广泛应用潜力。模块化设计:本设计采用了模块化设计思路,将不同功能模块(如闹钟、音乐盒、温湿度监测)独立设计后整合在一起,不仅提高了系统的可维护性和可扩展性,还使得各个模块的功能实现更加清晰明了。灵活的模式切换。

2024-07-11 20:03:06 1135

原创 STM32简易音乐播放器(HAL库)

这是一个基于STM32MP157A单片机的音乐盒设计较为全面和详细。主要包括以下几个方面:使用STM32MP157A单片机作为核心控制器采用TIM2定时器产生0.1s中断控制节拍使用TIM4输出PWM信号驱动蜂鸣器播放音乐使用GPIO输入检测按键操作初始化音乐频率数据表,包括低音、中音和高音定义乐谱结构体,保存不同音乐的音符和节拍信息编写播放音乐的函数,根据乐谱信息控制蜂鸣器输出编写LED灯随音乐闪烁的函数实现通过按键控制音乐播放、速度、音量的功能。

2024-05-28 23:26:54 2808 10

原创 FPGA--点阵屏模块(代码)

【代码】FPGA--点阵屏模块(代码)

2024-05-23 13:04:57 173

原创 OpenMV 图像串口传输示例

这个例程主要实现了以下功能:1. OpenMV 端采集图像:使用OpenMV开发板上的摄像头采集实时图像数据。2. 通过串口传输图像数据:将采集到的图像数据打包成字节流,通过串口发送到连接的PC端。3. PC端接收并保存图像:PC端接收来自OpenMV的图像数据,并使用OpenCV库将其解码保存为图片文件。整个过程模拟了一个简单的图像采集-传输-保存的应用场景。OpenMV负责图像采集和数据发送,PC端负责接收和保存图像。

2024-05-08 22:19:43 1787 5

原创 HT32F52352 -- 解锁电调、电机速度控制

电池组,电子调速器(好盈电调 /ESC),接收机(HT32F52352),风扇。

2024-05-05 19:34:51 965

原创 C++ 小游戏:战斗之旅

实现了基本的角色选择、商城购买装备、战斗系统和技能加点等功能。使用了面向对象的编程方法,通过角色类和装备类的定义,使得代码结构清晰。提供了基本的交互界面,玩家可以通过控制台输入进行游戏操作。

2024-04-29 22:02:51 488 1

原创 Visual Studio Installer 运行python 汉字

在 Python 2.x 版本中,如果源文件中包含非ASCII字符(如中文),为了确保 Python 正确地识别和处理这些字符,可以在文件开头添加 #coding:编码名称 这样的注释,以指定源文件的字符编码。但是,如果您需要在 Python 3.x 中指定其他字符编码,也可以使用类似的注释,例如 #coding:GBK。总之,#coding:GBK 这样的注释用于告诉 Python 解释器源文件的字符编码,以确保正确地处理文件中的非ASCII字符。在文本开头下面这一行即可。

2024-04-29 13:55:05 501

原创 Visual Studio Installer 安装python库

点击小礼包。

2024-04-29 13:48:39 469

原创 QT——简易计算机(从0开始)

创建一个简单的图形用户界面(GUI),包括一个文本框用于显示计算结果,以及数字键盘和运算符按钮。用户可以通过点击这些按钮输入数字和运算符,并查看计算结果。实现计算功能,编写相应的代码逻辑。当用户输入两个数字和一个运算符时,程序会根据运算符执行相应的加、减、乘、除运算,并将结果显示在文本框中。简化:要求不包含小数,使用整数运算。以简洁明了的方式呈现给用户,使用户可以轻松地进行基本的算术计算。尽量确保界面设计简单大方,操作直观,为用户提供良好的使用体验。

2024-04-27 23:00:45 1563

原创 C语言入门算法——采药(了解动态规划)

这段代码实现了一个动态规划算法,用于解决背包问题的变种。它通过填充一个二维数组dp来记录在不同的时间和不同的药品数量下的最大药品价格总和。但对动态规划了解还较为模糊,还需练习。

2024-04-24 10:10:26 728

原创 C语言入门算法——明明的随机数

这个程序是一个简单的去重算法,通过对输入的数列进行排序和遍历,可以输出去重后的数列。程序通过遍历和标记的方法实现了去重功能。程序的时间复杂度为O(n^2),因为它需要进行两次遍历,所以在数据规模较大时可能会比较慢。

2024-04-22 09:16:34 280

原创 C语言入门算法——爬楼梯(了解动态规划)

了解动态规划,减小运行时间,在题目越来越难的情况下,原本的暴力手段已经不足以解决问题,只有通过学习不同的算法才能完成更高难度的题目,以下是本次总结。

2024-04-19 10:59:48 1096

原创 关于电脑蓝屏解决方法(ST-LINK/ J-Link)

电脑win11系统,使用到STM32CUBEIDE + STM32MP157A在实际的烧录情况中,烧录器插到电脑上面,电脑立即蓝屏。(封面蓝屏图片不为本问题蓝屏图片)也不能算完全解决,在各种尝试下,最后使用了虚拟机,将软件即工程放在虚拟机中运行,再将烧录器插进电脑时(虚拟机处于开启状态),选择接口进虚拟机。可能是激发了电脑的保护,电脑监测到电压不正确,开启了自动保护。这样绕过了系统的保护,骗过电脑自带的系统。

2024-04-18 14:26:23 373

原创 C语言入门算法——选数

这段代码实现了一个递归函数scan,用于计算一组数中满足特定条件的子集的数量。其中,函数用于判断一个数是否为质数。然后在main函数中读取输入,调用scan函数并输出结果。

2024-04-17 10:32:22 407

原创 C语言入门算法——最大公约数和最小公倍数问题

这个程序的主要功能是寻找满足条件的数对 P 和 Q,使得它们的乘积等于输入的 x 和 y 的乘积。程序的思路是在 P 和 Q 的所有可能组合中进行遍历,找到满足条件的数对并计数。

2024-04-16 17:32:39 952

原创 C语言入门算法——进制转换

这段代码实现了在任意进制下,将一个整数转换为负进制的形式。其核心算法是通过递归和遍历,枚举每一位数字的取值,然后根据负进制的规则计算出对应的负进制数。代码中使用了一些辅助函数,如number_pow用于计算一个数的n次方,用于将数字转换为字符,用于计算负进制数的位数。

2024-04-15 10:21:49 1152

原创 紫光同创 ----- 集创赛 ---- 点亮LED

新建的工程可以执行 device map, place& route,report timing,report power, generate netlist 及 generate bitstream 等。新建的工程可以执行 synthesize,device map, place& route,report timing, report power, generate netlist 及 generate bitstream 等。

2024-04-11 23:20:13 1002

原创 C语言入门算法——回文数

代码实现了进制转换和同位数判断的功能,并且在实现过程中使用了数组、循环、条件语句等基本的编程知识。

2024-04-11 16:59:22 802

原创 C语言入门算法——Cantor 表

该程序实现了康托展开算法,用于将一个正整数映射到一个唯一的有理数。程序首先读取一个正整数n,然后调用康托展开函数计算出对应的有理数的分子和分母,并输出结果。康托展开算法的基本思想是将一个排列映射到一个唯一的自然数,从而实现排列的全排列和组合的计数。该算法的应用广泛,如在组合数学、离散数学、计算机图形学、密码学等领域都有重要的应用。该程序实现了康托展开算法的基本逻辑,通过对坐标的变换,计算出对应的有理数的分子和分母。

2024-04-10 11:36:21 372

原创 C语言入门算法——拼数

该程序是一个用于对一组数字进行排序的简单C语言程序。采用了冒泡排序的方法,通过比较每一对相邻元素,根据需要交换它们的位置,从而达到排序的目的。程序首先读取输入的数字数量和具体的数字,然后调用排序函数对数字进行排序,并最终输出排序后的结果。

2024-04-10 10:40:03 391

原创 C语言入门算法——车站

程序的主要目的是计算一个公交车上乘客的人数变化,并根据输入的条件来确定最后一站的下车人数。程序的基本逻辑是模拟了公交车途经若干站后的人数变化过程,并通过函数station计算每一站的乘客人数,然后通过two_people函数来确定第二站的上车人数。two_people函数中的while循环没有合适的退出条件,限制i的最大值为2*10000也不是一个很好的做法。应该考虑使用更有效的搜索方法,避免不必要的循环次数。程序中缺少注释,特别是对于一些关键函数的作用和参数含义,应该添加更多的注释以提高代码的可读性。

2024-04-09 17:28:05 1023

原创 C语言入门算法——三连击

函数用于判断当前的九个数字是否满足条件,并在满足条件时计算并输出满足条件的三个三位数。calculate函数是一个递归函数,用于生成所有可能的九个数字组合。main函数初始化了九个数字为0,并调用了calculate函数开始递归生成数字组合。

2024-04-08 10:09:30 335 1

原创 C语言入门算法——铺地毯

程序首先接收输入n,表示地毯的数量,然后依次输入n块地毯的坐标信息。然后程序接收要计数的坐标信息。函数用于确定特定坐标是否位于某块地毯上,而函数则用于找出特定坐标所在的地毯编号。最后程序输出特定坐标所在的地毯编号。

2024-04-07 11:51:51 767

原创 C语言入门算法——过河卒

程序定义了一个函数来计算马的可攻击位置,这些位置存储在数组中。函数是一个递归函数,用于探索马的移动路径,计算成功到达目标位置的次数。main函数负责初始化起始位置A、目标位置B和C,然后调用函数,并输出成功到达目标位置的次数。

2024-04-07 10:59:54 656

原创 模拟 彩票/刮刮乐(C语言)

福利彩票 福利彩票35选7,随机生成7个数字,范围为10-35,数字不重复。用户可以选择自己的一组号码,并设置中奖规则。规则如下:猜中7个数字可获得500万奖金,猜中6个数字可获得100万奖金,猜中5个数字可获得1万奖金,猜中4个数字可获得5000奖金,猜中3个数字可获得500奖金,猜中0、1或2个数字则没有中奖。

2024-01-25 16:42:25 1527 1

原创 SBUS硬件取反 S8050

在连接线路前查到的大多数资料的连接方式都是10K上接3.3V导致无法取反。解决方法就是将10K变1K或者将3.3V变成5V就能正常使用(如三、电路连接)。再将上面的电路与下工程的串口输入相连,即为一个STM32F10C8T6 + 取反电路,就可以解析SBUS的数据。R9DS接收机+AT9S Pro --SBUS解析(STM32F103C8T6)

2024-01-25 16:21:08 959

原创 R9DS接收机+AT9S Pro --SBUS解析(STM32F103C8T6)

SBUS 信号模式: 接收机指示灯为蓝色,R9DS 的 第 9 通道输出 SBUS 信号, 同时原来的 1 通道 输出独立 3 通道 PWM 信号,原来的 2-6 通道输出 6-10 通道的独立 PWM 信号,7-8 通道无信号,共 计 10 个通道的信号。数据:SBUS一次传输25字节数据data[25],由data[0] = 0x0f 开始,到data[25] = 0x00结束,中间 data[1]----data[22]是有效的16个通道数据。右边两个为舵机,VCC都接5V。

2024-01-22 17:31:24 3254 4

原创 基于 ZYNQ ECO开发板和STM32F103C8T6的遥控小车

计划使用4x4按键矩阵来控制遥控车,并且希望实现以下功能:可调速、控制模式(循迹、避障、遥控)、OLED显示当前模式、按键状态、速度和运动姿态。// //超声波 teig W20 //循迹 左 W16。//串口 rx P20 //左轮控制 左方向:N18 T20 //右轮控制 右方向 P18 U20。

2023-10-29 11:59:09 352 3

原创 FPGA------ 基于 ZYNQ ECO开发板 超声波模块

这个超声波模块的功能是通过计数器实现超声波测距。它通过测量超声波从发射到接收的时间,然后将时间转换为距离值。块中,根据复位信号和状态机的当前状态设置计数器。乘以20,除以1000,再除以58,得到距离值。这里通过输入的led_zt来控制ed显示的状态。块中,根据复位信号的状态设置计数器。输出设置为1或0,以控制脉冲发出。参数定义了周期的延迟时间,分别表示状态机的三个状态。另一个时钟信号上升沿触发的。的值会进行递增或保持不变。保存上一个状态的计数器值。模块的输入包括时钟信号。在时钟信号上升沿触发的。

2023-10-28 20:07:44 107 1

原创 FPGA------ 基于 ZYNQ ECO开发板 串口

接收UART串行数据,并将接收到的数据存储在rx_data中,当接收完成时,将rx_done置为1。计数器和状态机的设计用于控制接收数据的时机和状态转换。将串口接收和发送的信息进行互联,并传输接收到的信息。

2023-10-28 19:47:39 105 1

MSPM0G3507 + 主控 24电赛 H题主控

MSPM0G3507 + 主控 24电赛 H题主控

2024-08-13

MSPM0G3507 + MPU6050串口输出 24电赛H题-稳定姿态

MSPM0G3507 + MPU6050串口输出 24电赛H题-稳定姿态

2024-08-13

STM32F103C8T6(HAL库) SBUS信号解析

工作电压:4.8-10V SBUS 信号模式: 接收机指示灯为蓝色,R9DS 的 第 9 通道输出 SBUS 信号, 同时原来的 1 通道 输出独立 3 通道 PWM 信号,原来的 2-6 通道输出 6-10 通道的独立 PWM 信号,7-8 通道无信号,共 计 10 个通道的信号。 SUBS的信号类似于一个串口发送,但与平时使用的串口有些许区别。 注意:SBUS信号与串口发送是相反 ---串口(1)==信号(0) 串口(0) == 信号(1)。所以必须采用硬件 取反稳定。(本文章硬件不足,采用STM32F103C8T6模拟取反)。 配置:波特率:100K(100000),数据位:9bit,奇偶校验位:偶校验(even),停止位:2位 数据:SBUS一次传输25字节数据data[25],由data[0] = 0x0f 开始,到data[25] = 0x00结束, 中间 data[1]----data[22]是有效的16个通道数据。data[23]数据校验位。

2024-01-22

STM32F103RCT6 遥控车 STM32F103C8T6遥控器 4*4矩阵按键控制

STM32F103RCT6 遥控车 STM32F103C8T6遥控器 4*4矩阵按键控制

2023-10-31

FPGA串口通信,接收并发送

FPGA串口通信,接收并发送

2023-10-29

FPGA 超声波控制led

FPGA 超声波 判断超声波距离控制led灯

2023-10-29

基于 ZYNQ ECO开发板和STM32F103C8T6的遥控小车

  计划使用4x4按键矩阵来控制遥控车,并且希望实现以下功能:可调速、控制模式(循迹、避障、遥控)、OLED显示当前模式、按键状态、速度和运动姿态。 以下是对您的计划的详细说明: 按键输入:使用4x4按键矩阵进行按键输入。按键矩阵可以将多个按键连接到少量的引脚上。可以通过扫描按键矩阵来检测哪个按键被按下,并获取相应的按键状态。 调速功能:使用可调速的驱动器或控制器来控制遥控车的速度。根据按键输入或其他输入信号,调整驱动器的输出来控制车辆的速度。 控制模式:使用按键输入来切换遥控车的控制模式。可以定义不同的控制模式,如循迹、避障和遥控。根据按键输入的模式选择,切换遥控车的行为。 OLED显示:使用OLED显示屏来显示当前的控制模式、按键状态、速度和运动姿态等信息。可以使用合适的库或驱动程序来控制OLED显示屏,并将相关信息显示在屏幕上。         使用4x4按键矩阵来控制遥控车,并实现可调速、控制模式切换和信息显示等功能。

2023-10-29

MSP-ESP430F5529LP基础程序

电灯 按钮 中断 pwm 串口 iic控制oled 简易超声波

2023-09-03

STM32F103C8T6 mpu6050(HAL库+标准库)

STM32F103C8T6 mpu6050(HAL库+标准库)

2023-06-18

OLED(STM32F103C8T6)

HAL库 标准库

2023-06-03

HT32F52352基本功能通用函数库

LED KEY SYS 延时 PWM 串口 位数读取,解读

2023-05-23

HT32F52352基本资料

HT32F52352基本资料

2023-05-23

空空如也

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

TA关注的人

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