自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wx-blog

orbit

  • 博客(41)
  • 收藏
  • 关注

原创 Altium Designer(AD) 设计软件使用入门

本文对AD的常用功能进行了学习记录,方便日后进行学习回顾。

2025-03-30 12:25:25 368

原创 VS Code 使用与配置

本篇文章是对VScode常用功能的记录。

2025-03-30 12:22:03 374

原创 Keil 5.34 快速入门【直接上手版】

一、Keil的安装与注册。二、界面认识与初始化配置。三、开发与调试常用功能。四、与其他软件的配合。

2025-03-30 12:20:03 321

原创 Matlab图形绘制【重要】

一、数据图像绘制原则。

2025-03-30 11:37:28 270

原创 Matlab程序设计【重要】

一、Matlab如何编程。

2025-03-30 11:35:58 272

原创 Matlab基本概念【重要】

一、常用数据与数据类型。五、关系运算与逻辑运算。七、数组类型之间的转换。

2025-03-30 11:34:15 383

原创 Matlab基础知识与常见操作【无痛入门】

一、工作环境与帮助二、基本概念。

2025-03-30 11:30:28 471

原创 STM32/GD32主要学习内容

待续。

2025-03-24 09:18:15 410

原创 STM32/GD32中时钟的作用

时钟在32位微控制器中是时间基准与系统协调的核心,直接影响性能、功能实现和功耗。其设计需结合硬件(如晶振选型[[3]])和软件(如时钟树配置[[7]][[8]])的协同优化。

2025-03-20 13:37:06 606

原创 DMA的配置步骤(理论)

注意STM32和GD32的DMA初始化结构体不一致的问题,需要关注的是实际使用时的配置问题。

2025-03-19 15:19:15 270

原创 GD32F205RCT6移植LetterShell

具体的移植操作还有诸多细节未展示,这是因为在实际操作中大家的环境与情况不一,不能起到很好的代表作用,移植的过程我也踩了几个坑,最后反思下关键点还是串口中断的配置(裸机)与接口写函数的实现,以及移植版本的问题(不同版本的写函数格式不一致,需要自己调整)总之,网上例子庞杂繁多,但是值得关注的关键问题就这几个,后续我也会记录在RTOS中使用LetterShell的过程与心得。在自己的MDK工程中新建一个LetterShell文件夹,将源码中的src文件夹下的文件拷贝过去。在Init中将其注册,完成初始化、

2025-03-14 14:02:21 271

原创 minicom锁住问题:设备 /dev/ttyUSB0 已锁定。

在今天使用minicom串口工具的时候,出现了锁定的问题:设备 /dev/ttyUSB0 已锁定。百度了下,说是因为上次使用完毕未能正常退出,删除锁定文件即可恢复。在/var/lock/目录下,删除lockfile。再次启动,即可正常使用。

2025-02-25 09:58:10 134

原创 win11下Ubuntu虚拟机连接开发板

在设置完ip后,按理说就可以互相ping通了,但是实际中我发现一直不通,后来在主机上ping开发板的时候我发现,有时候是网络不可达,有时候又是请求超时,因此我查询了两种提示下的背后逻辑,发现可能是win11防火墙未关闭,在我将其关闭后,也是顺利的ping通了,配置好nfs后,就可以进行开发工作了!但在此之前,需要将设备配置连接好,主要是对虚拟机与电脑主机、电脑主机与开发板的网络配置进行操作。在win11系统下进行Linux开发,大多都是在虚拟机中交叉编译,然后将文件发送到开发板上调试运行。

2025-02-24 14:46:59 217

原创 使用ifconfig设置ip时遇到的问题-1

【代码】使用ifconfig设置ip时遇到的问题-1。

2025-02-18 10:55:53 329

原创 完美解决VMware 17.0 Pro安装ubuntu、Deepin等虚拟机后卡顿、卡死问题

Hyper-V”选项是我在之前使用 WSL 2 时进行开启设置的,事后我回想,应该是当时开启了“禁止开启Hyper-V的主机启用侧通道缓解”这个选项,但是我的电脑之前已经开启了“Hyper-V”选项,所以二者有所冲突,进而导致虚拟机在开启后的很短时间内就完全卡死没反应,因此,关闭这个选项后问题得到了解决。完成以上设置,我的虚拟机没有再出现卡顿现象,但是在随后的使用中,我发现只要我从虚拟机中切换后台出去的时间太长,我的虚拟机再切换回来就直接在当时出去的页面卡死,没有任何反应。

2025-01-10 17:04:57 3304

原创 FreeRTOS的内存管理

假设heap有3块空闲内存:5字节、25字节、100字节,vPortMalloc想申请20字节,算法就会负责找出最小同时还能满足申请的字节(这个例子里是25字节),把它划分为20字节和5字节,20字节给申请使用,5字节仍是空闲状态,留给后续使用。在FreeRTOS源码中,共有5个关于内存管理的文件,分别对应内存管理的5种方式,它们是heap_1.c、heap_2.c、heap_3.c、heap_4.c、heap_5.c。同样的,它却适用于频繁的创建、删除任务,前提是任务的栈的大小都是相同的。

2024-12-30 14:50:53 598

原创 WslRegisterDistribution failed with error: 0x800701bc 报错解决

原因2:安装顺序搞反了,先安装微软商店内的ubuntu子系统,然后才在命令行下安装了wsl。原因3:命令行安装wsl后未开启虚拟机特性,或者开启部署虚拟机服务特性后未重启电脑。方法2:直接管理员模式打开powershell,在命令行下执行更新命令。原因1:wsl 1升级wsl 2后未安装内核升级包。方法1:去官网下载安装内核升级包。前提是设置wsl 2为默认版本。

2024-12-30 13:24:45 2503

原创 上升沿与下降沿

在数字电子学和信号处理中,术语“上升沿”和“下降沿”是用来描述数字信号变化的两个重要概念。这些边沿是数字信号从一个状态转换到另一个状态的瞬间。

2024-11-14 08:57:54 1360

原创 Keil编辑代码黑色背景模式设置

在keil安装文件夹下打开global.prop文件,将下面代码复制进去替换,重启keil即可完成设置。

2024-11-06 16:39:59 401 2

原创 虚拟内存是什么

在Windows操作系统中,虚拟内存是一种内存管理技术,它允许计算机使用一部分硬盘空间作为扩展的RAM(随机存取存储器)。当物理内存(RAM)不足时,Windows会将暂时不用的数据从RAM转移到硬盘上的一个特殊文件中,这个文件通常被称为“分页文件”或“页面文件”(Pagefile.sys)。通过这种方式,系统可以运行更多的应用程序和进程,即使实际的物理内存已经被用尽。

2024-10-25 14:04:48 428

原创 时域与频域的区别

时域侧重于信号的时间特性,适合分析瞬态行为和非周期信号。频域侧重于信号的频率特性,适合分析信号的频谱组成和设计基于频率的滤波器。时域和频域提供了互补的视角,结合使用可以更全面地理解和处理信号。在实际应用中,根据具体需求选择合适的分析方法是非常重要的。

2024-10-23 11:21:59 789

原创 Windows系统的不同版本区别

Windows系统的不同版本主要针对不同的用户群体和使用场景,提供了不同程度的功能集。

2024-10-18 15:25:40 1012

原创 Windows 10 的 20H2、21H2 和 22H2之间的区别

Windows 10 的 20H2、21H2 和 22H2 是指 Windows 10 操作系统的不同功能更新版本,每个版本都带来了新的特性和改进。

2024-10-18 15:23:54 7847 1

原创 带协处理器的芯片是什么

带有协处理器的芯片是指在主处理器之外,还集成了一个或多个专门设计用来执行特定任务的处理器。协处理器通常被设计来加速某些特定类型的操作,这些操作可能是计算密集型的或者是对实时性能有较高要求的任务。通过使用协处理器,可以减轻主处理器的负担,提高系统的整体效率和性能。带有协处理器的芯片可以在单个集成电路中集成多种功能,从而使得系统更加紧凑、高效。这种设计方式在嵌入式系统、移动设备、高性能计算平台以及各种专业领域都有广泛应用。

2024-10-17 10:17:01 479

原创 I2C总线的时钟脉冲是什么

在I2C通信中,时钟脉冲是由主设备(Master)产生的,并通过一条称为SCL(Serial Clock Line)的线路传输给从设备(Slave)。这条SCL线上的信号就是I2C的时钟脉冲。:除了常规的数据传输外,I2C通信还使用SCL与时钟无关的特殊信号——起始(Start)和停止(Stop)条件来标志一次通信的开始和结束。:I2C协议允许不同的传输速率,通常有标准模式(100 kbit/s)、快速模式(400 kbit/s)、快速模式Plus(1 Mbit/s)以及高速模式(3.4 Mbit/s)。

2024-10-17 09:20:49 404

原创 轮询与中断的概念和区别

轮询(Polling)和中断(Interrupts)是计算机系统中两种不同的处理外部事件或设备请求的方法。它们的主要区别在于如何检测和响应这些事件,以及对CPU资源的利用效率。

2024-10-16 11:32:36 557

原创 时间片轮询法的概念与作用

时间片轮询法(Round Robin Scheduling, RRS)是一种进程调度算法,常用于分时操作系统中。其基本思想是将处理器的处理时间分割成许多小的时间片段(时间片),然后按照先来先服务的原则,轮流给每个进程分配一个时间片,让它们执行。如果在当前时间片内进程没有完成,则该进程被挂起,等待下一轮调度;如果在当前时间片内进程完成了,则释放处理器并进行下一个进程的调度。在实际的操作系统中,调度器可能会根据系统的负载情况动态调整时间片的大小,以优化整体性能。

2024-10-16 11:29:38 239

原创 这段时间学习的感受、想法与部分规划

学习思维很常见,大致来说,就是按照别人推荐的路线,顺序去学习,或者按照网上课程的安排一节节的听过去,或许我们在学的时候很认真,记笔记、画导图啥的,可是到实际操练的时候,发现自己还是很难去上手,这是因为很多人意识不到这样子的学习学的是理论,和将来的实践操作关系不大,因此他们根本不知道自己提升慢的原因在哪。现实我们所面对的情况当然是更复杂的,但无论多么复杂,嵌套多少技术,底层的逻辑背后还是数据的流动,根据这套逻辑,是可以把项目的功能和需求转换为硬件的设计、软件的架构等,进而整个项目的开发也就有了具体的方向了。

2024-10-16 11:02:22 244

原创 常见的几种通信总线概述

在电子系统中,总线是用于连接不同组件并允许它们之间通信的一组信号线。不同的总线类型适用于不同的应用场景和需求。每种总线都有其特定的应用场景和技术优势。学习这些总线时,重要的是理解它们的工作原理、电气特性以及如何正确地进行硬件设计和软件编程。

2024-10-16 09:53:09 600

原创 I2C总线的简要理解

通信开始时,主设备会产生一个“开始”条件,即在SCL为高时SDA从高变低;:标准模式下I2C的速度可达100 kbit/s,快速模式可达400 kbit/s,高速模式可达3.4 Mbit/s。:每个从设备都有一个唯一的7位或10位地址,主设备使用这个地址来选择想要与其通信的特定从设备。:I2C总线支持多主机环境,其中任何能够发起通信的设备都可以成为临时的主设备。:某些从设备可以在数据传输过程中拉低SCL线,这被称为时钟伸展,用以延缓主设备的数据传输速率,确保从设备有足够的时间处理数据。

2024-10-16 09:51:31 276

原创 Linux下如何查看系统日志

在Linux系统中,查看系统日志是进行故障排除和监控系统活动的重要手段。不同的Linux发行版可能使用不同的日志系统,但大多数现代的Linux发行版(如Ubuntu, Debian, CentOS等)都采用了作为初始化系统和服务管理器,并且使用来访问由服务收集的日志。以下是几种常见的查看系统日志的方法: 是一个强大的工具,可以用来查询来自不同来源的日志数据。这里有一些常用的命令选项:查看所有日志:查看内核日志:查看特定服务的日志(例如:sshd服务):查看实时更新的日志:查看从某个时

2024-10-16 09:41:21 462

原创 Linux命令su与sudo的区别

su是完全切换用户,而sudo只是临时借用权限来执行单个命令。使用sudo一般比直接用su登录为 root 更加推荐,因为它减少了由于长期保持高权限而导致的安全风险。sudo也便于审计,因为所有通过sudo执行的命令都可以被日志记录下来。在日常管理任务中,建议尽量使用sudo来执行需要提升权限的操作,除非确实需要一个完整的 root shell 环境。

2024-10-16 09:24:29 419

原创 线程与进程有什么区别

简而言之,进程提供了更强的隔离性和稳定性,但代价是更高的资源消耗;而线程提供了更好的并发性能和更低的资源占用,但要求程序员更加小心地处理资源共享问题。在现代多核处理器上,合理利用线程可以显著提高应用程序的性能。

2024-10-15 09:13:05 246

原创 C语言中文件操作的相关函数

若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。一般而言,打开文件后会作一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。

2024-06-13 17:12:19 730 1

原创 ARM体系认识

能够指示处理器执行某种运算的命令称为指令(如加、减、乘 ...) ​ 指令在内存中以机器码(二进制)的方式存在 ​ 每一条指令都对应一条汇编 ​ 程序是指令的有序集合。

2024-06-13 17:07:19 1527

原创 STM32点灯操作(详细记录)

查看开发板电路图,观察LED接口,在程序中修改接口,利用GPIO接口按自己的要求对函数进行添加与删除。点灯操作是我们学习嵌入式开发的一个很好的入门实践,在此梳理一下自己的学习过程,以备今后复习查看~用Keil-5软件打开LED驱动程序工程文件,在main.c程序中调试。连接电源线,编译程序,下载程序到开发板中,按动开关,即可点灯成功。安装开发准备的软件:Keil-5以及ST-Link驱动程序。1、开发板:这里我使用的是GD32F205R-G;3、ST-Link驱动安装。4、Keil-5软件。

2024-04-24 11:11:05 379

原创 基础数据结构特点及其在C++中的初始化构建方法(下)

设二叉树深度为 k ,若二叉树除第 k 层外的其它各层(第 1 至 k−1 层)的节点达到最大个数,且处于第 k 层的节点都连续集中在最左边,则称此二叉树为完全二叉树。边集合: edges = {(1, 2), (1, 3), (1, 4), (1, 5), (2, 4), (3, 5), (4, 5)}散列表是一种非线性数据结构,通过利用hash函数将指定的键key映射至对应的值value,以实现高效的元素查找。设想一个简单的场景:小力,小特,小扣的学号分别为10001,10002,10003.

2024-04-12 14:38:24 731

原创 基础数据结构特点及其在C++中的初始化构建方法(上)

如图所示,通过常用操作入栈push(),出栈pop(),展示了栈的先入后出特性。如图所示,通过常用操作入队push(),pop(),展示了队列的先入先出特性。链表以节点为单位,每个元素都是一个独立对象,在内存空间的存储是非连续的。数组是将相同类型的元素存储于连续内存空间的数据结构,其长度不可变。如图所示,建立此链表需要实例化每个节点,并构建各节点的引用指向。构建方式三:可变数组,常用操作:访问元素,添加元素,删除元素。栈是一种具有先入后出特点的抽象数据结构,可使用数组或链表实现。:数组、链表、栈、队列;

2024-04-12 13:28:16 455

原创 I2C通信协议学习理解

只有在时钟线SCL上的信号为低电平期间,数据线SDA上的高电平或低电平状态才允许变化,因为当SCL是高电平时,数据线SDA的变化被规定为。接收端收到有效数据后向对方响应的信号,发送端每发送一个字节(8位)数据,在第9个时钟周期释放数据线去接收对方的应答。的总线结构,总线上的每个设备都有一个特定的设备地址,以区分同一I2C总线上的其他设备。组成,可用于发送和接收数据,但是通信都是由主设备发起,从设备被动响应,实现数据的传输。I2C通信的停止信号由主设备终止,SCL保持高电平,SDA由低电平跳变到高电平。

2024-04-11 16:08:31 650

原创 ubuntu中使用gcc编译c++出现cc1plus错误如何解决

如图,在编译C++程序时提示:致命错误:不能执行' cc1plus ': execvp:没有这样的文件或目录。如图,展示下载完成后编译结果。按Y确认,下载完成后即可。因此考虑下载对应的文件。

2024-04-07 15:38:48 1025

MCU的一些常见学习操作及配置步骤

MCU的一些常见学习操作及配置步骤

2025-03-20

自己对于学习技术的心得体会

自己对于学习技术的心得体会

2025-03-20

FreeRTOS的英文教程

FreeRTOS的英文教程

2025-03-20

空空如也

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

TA关注的人

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