自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 989.数组形式的整数加法

对于非负整数 X而言,x的数组形式是每位数字按从左到右的顺序形成 的数组。例如,如果 X=1231,那么其数组形式为[1,2,3,1]。给定非负整数 X的数组形式 A,返回整数 X 的数组形式,函数来计算它们的和。最后,我们释放了为结果数组分配的内存。请注意,这段代码假设输入的数组。都是有效的非负整数数组,并且没有前导零。如果输入可能包含无效情况,那么在实际应用中应该添加相应的错误检查和处理逻辑。是一个指向整数的指针,用于返回结果数组的大小。,并返回一个新的数组,该数组表示这两个整数的和。

2024-06-03 19:09:57 138

原创 西门子电梯控制保姆级教程

1.电梯控制系统结构可以理解是通过ip进行访问的2.基于PLCSIM Adv与电梯仿真软件的控制环境搭建虽然都是用一台电脑来控制,但是还是用以太网来连接在FC块里面也要用两个DB块来放输入和输出。

2024-06-02 21:25:02 364

原创 路飞吃桃递归问题

所以前一天就是n—1个,总共是n天,所以就可以利用递归f(n-1),算出前面每一天的数据,具体是相加还是怎么样就要看题了,这个题是前一天比后一天多1且是二倍,为什么要用递归呢,这样就可以无限套娃,前一天比后一天永远是多再乘以2,捋清楚思维之后就代码了。这里需要注意的是:后面的一个式子的结果,等于前面式子的f(n-1)在写代码之前,补充两个知识点。1.C语言递归的模版。2.递归是怎么工作的。

2024-05-07 19:22:49 239

原创 什么是X电容和Y电容?

这是绝对不可以的,因为电解电容只能加正向电压,因为是交流电,所以肯定有负半轴,从而导致电容爆炸起火,此外还需要注意安规电容是没有正负极之分的,还有就是常规电容不能替换安规电容,就算是同样的选型,也不行,因为安规电容的耐压值,远超普通电容。安规电容主要是对干扰信号进行滤波,它滤波的不是220v的交流电,而是异常的高频信号,这些信号可能是雷电或者插拔插座造成的。如果两条线都是这种信号,就会没法充电,我们都知道电容的充电需要电位差。X电容和Y电容滤波的信号也不一样。我们知道电解电容的作用都是滤波。

2024-05-06 20:32:18 339

原创 关于怎么计算重复路段的算法问题

2.发现只有输入两端及两端以上才能重复,所以要用&&这里需要的是500-公共部分(只减一次)其他情况不成立,就没有重复段了。3.根据来写就有两种。

2024-05-05 00:56:08 211

原创 PID的嵌入式应用

非线性系统也不适用,可以通过其他方式化为线性系统。高阶系统并不适用,但是可以化为二阶系统。,不需要对系统进行精细化建模,可以直接上。适用范围:二阶以内线性系统。文件代码,这里编写的是。

2024-04-26 20:23:51 115

原创 陶瓷电容器

1.陶瓷电容器的结构。2.陶瓷电容器的容量。3.陶瓷电容的耐压值。4.陶瓷电容器的类型。

2024-04-26 20:12:24 64

原创 电容的理论基础

在画pcb时,电源要先过滤波电容,然后到芯片,其实可以这理解电源就相当于一个水龙头它可大可小不稳定,但是通过滤波电容之后,就可以了平稳度过,比如滤波电容就当于水桶,水龙头先放水把水桶放满,之后再进行抽水,这样就非常平稳,因为水桶里面一直有水,流出液比较稳定。漏电流就是这样存在的,因为有电阻,还是会有很小的电流,所以漏电流也很小。不论怎么用,都是利用充放电。6.电容实际的电路模型。电容的串并联直接相反。

2024-04-26 19:23:26 711 1

原创 为什么要存在零欧姆电阻?

一般为五十好欧零欧姆电阻的作用:零欧姆参考的阻值:零欧姆电阻的过载能力:完!

2024-04-26 16:44:21 102

原创 常见的电路标识符

电压峰峰值,对于正弦信号,就是波峰电压减去波谷电压,最。里面用到的,给一些控制信号提供电源的。信号,可以理解为给这些数据信号供。里面是没有的,称为激活电压,的简写,一般指平台方案(如。里面会用到,比如手机常用的。可以理解为三极管的集电极。可以理解为三极管的发射极。一般指交流信号的有效值。的简写,一般指电池电压。可以理解为三极管的基极。的意思,参考电压,比如。里面用到的,由外部供给。,一般模拟器件会有。,一般模拟器件会有。,一般在数字电路中。,一般在数字电路中。的缩写,均方根的意思,指核心的意思,一般指。

2024-04-26 16:24:17 329

原创 史上最全电阻选型

贴片的耐压耐流比较低,但是功耗也低。如果没有,选比较接近的电阻。

2024-04-26 16:04:48 272

原创 电阻理论基础

电流的形成是电荷运动,电子方向相反,标量。电压:电势有参考点,是一个相对量。电阻的值不取决于电压和电流的,R表示任意温度的电阻。

2024-04-26 15:32:39 223

原创 Linux 环境搭建

其实是键盘,操作系统的底层代码基本上都是一样的,不同是驱动和硬件,以及上层建筑,比如你插进去一个u盘可能会弹出正在加载驱动,或者你要用系统之前,也是要通过驱动来让操作系统激活的,或者说通过驱动可以完成一些之前完不成的功能,最开始是用命令行,之后通过操作系统的应用,才发展应用了图形界面,之后才发明的鼠标。主要是原因是因为,Linux是一个免费的系统,它不需要讨好用户,也没有人来维护它,所以它比较随性,都是用命令行来完成的。是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。

2024-04-23 15:31:32 931

原创 PCB上有哪些元素

通孔埋孔盲孔,都是用来换层,内部没有桐,是用来固定的。焊盘:焊接元器件,相当于线头,连接各个元件。丝印:就是标记(白色的线或者符号)过孔:是用来切换层的。

2024-04-23 14:52:00 227

原创 PCB元器件的符号和封装

焊盘是为了让接触点增大,更好的焊接元件。PCB是用来链接器件和让电路小型化的。封装是在PCB板上呈现的方式。

2024-04-23 13:43:23 221

原创 PCB的通孔、盲孔、埋孔

总结:这些孔都是用来切换层的

2024-04-23 13:04:53 228

原创 PCB的层叠结构

PCB单层板:如果有人触电了,是算设计师没有设计好,还是操作员没有操作好,没有进行责任划分。有pcb的用处: 是为了防止线乱和占面积。

2024-04-23 12:16:59 292

原创 基于STM32CubeMX的嵌入式开发基础

回答:这是因为单片机的低电平时的灌电流一般比高电平时的拉电流要大。如一般的51 系列单片机的I/O 口可以输出4mA 的拉电流或20mA 的灌电流;而其他也有一些芯片,如PIC单片机有一些非常实用的通用特性:I/O口灌电流/拉电流都很大——25MA/25MA。问题:单片机的外围电路设计及程序编写大多是以低电平有效来驱动电路的?总结:用低电平做驱动,灌电流大,驱动能力强。内部没有上拉电阻,外部就要加一个。

2024-04-23 11:16:22 126

原创 【无标题】

找芯片:STM32L151C8。

2024-04-18 21:49:59 139

原创 顺序表相关内容补充

SeqListBinaryfind(顺序表二分查找):顺序表中的二分查找算法,用于在有序的顺序表中查找指定元素。时间复杂度为O(n),其中n为顺序表中元素的个数,因为需要将插入位置后面的元素向后移动。时间复杂度为O(n),其中n为顺序表中元素的个数,因为需要遍历整个顺序表进行查找。时间复杂度为O(n),其中n为顺序表中元素的个数,因为需要将删除位置后面的元素向前移动。空间复杂度:顺序表的空间复杂度为O(n),其中n为顺序表中元素的个数,因为需要分配一段连续的存储空间来存储元素。

2024-04-16 21:02:45 333

原创 STM32的简介

PLC的内部就是STM32

2024-04-16 19:13:09 398

原创 MCU最小系统晶振模块设计

单片机有两个心脏,一个是8M的心脏,一个是32.768的心脏。8M的精度较低,所以需要外接一个32.768khz。为什么是8MHZ呢,因为内部自带的。

2024-04-14 22:00:15 448

原创 MCU最小系统的电源模块设计和复位模块的设计

把芯片理解成游泳池,如果只有一个水龙头(这里指的是电源),放在左边,那么中间和右边,就会有延迟,过段时间才有水,就会不问题,如果有两个的话也会有延迟,三个就不会了,他们到彼此的时间是一样的,这样水池也会更快的满,同样稳定性也高。最小操作系统就是一个电路,这个电路里面必须要的东西(如人需要喝水吃饭温度等情况,才能或者)何为复位:让单片机程序复位,把除了备份区域寄存器以外寄存器状态恢复至原始状态。这里要注意哪些是电路电压,哪些是芯片电压。USB或其他的,本质是要一个电压。这里V开头的,都是电源管脚。

2024-04-14 20:12:02 255

原创 挑战全网,看谁能用栈和队列解决更多问题

例如,在一个打印任务中,新的打印任务会被添加到队列的末尾,而打印机则从队列的头部取出任务进行打印,这样就实现了先进先出的管理。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有。栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。,进栈过程中可以出栈,则下列不可能的一个出栈序列是()依次入栈,然后再依次出栈,则元素出栈的顺序是(

2024-04-14 12:51:22 795

原创 stm32GPio的开发基础

推挽wan输出:驱动能力比较强,推挽是因为往外推。上拉输入:高电平(弱高电平,一般默认)没有上拉下拉就是处于一个不确定的状态。set就是1,reset就是0。XMX就是封装的更好。

2024-04-13 21:28:40 159

原创 宝藏级教程!顺序表链表让你成为编程达人!

另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单了,后面我们代码实现了就知道了。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。如何解决以上问题呢?下列关于线性链表的叙述中,正确的是( )。

2024-04-13 20:27:11 1260

原创 史上最全时间复杂度和空间复杂度计算

时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主。要衡量一个算法所需要的额外空间,在计算机发展的早期,计算机的存储容量很小。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机。器上跑起来,才能知道。的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。

2024-04-13 19:57:48 952

原创 史上最全指针问题汇总

不足,短则切割,若原先内存块无法改变大小,则分配另一块内存并返回指向它的指针,所。但各个参数的计算顺序是未定义的,由各编译器自己发挥。将实参的指针的拷贝赋给形参,形参可直接修改所指内存地址中的值,但指针。) 尽量使用编译时求值的表达式(如常量表达式),而减少使用运行时求值的表达式。),它的值是第一元素的地址。是以拷贝的形式传递的,所以还是按值传递的。变量行为,各个编译器都有自己的理解,在优化的时候极有可能被优化为常量。中函数的参数都是按值传递的(拷贝形式,无须担心值被改,但数组会被改)。

2024-04-08 20:00:41 329

原创 预处理不求人!教你如何轻松搞定

(假定某个程序中声明了⼀个某个⻓度的数组,如果机器内存有限,我们需要⼀个很⼩的数组,但是另外⼀个机器内存⼤些,我们需要⼀个数组能够⼤些。当宏参数在宏的定义中出现超过⼀次的时候,如果参数带有副作⽤,那么你在使⽤这个宏的时候就可能出现危险,导致不可预测的后果。如果⼯程⽐较⼤,有公共使⽤的头⽂件,被⼤家都能使⽤,⼜不做任何的处理,那么后果真的不堪设想。⼀个头⽂件被包含10次,那就实际被编译10次,如果重复包含,对编译的压⼒就⽐较⼤。这⾥我们想想,写⼀个函数求2个数的较⼤值的时候,不同的数据类型就得写不同的函数。

2024-04-08 19:51:07 761

原创 揭秘动态内存管理,让你少走弯路!

栈区(stack):在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建,函数执⾏结束时这些存储单元⾃动被释放。有时会我们发现过去申请的空间太⼩了,有时候我们⼜会觉得申请的空间过⼤了,那为了合理的时候内存,我们⼀定会对内存的⼤⼩做灵活的调整。• 函数的功能是为 num 个⼤⼩为 size 的元素开辟⼀块空间,并且把空间的每个字节初始化为0。所以如果我们对申请的内存空间的内容要求初始化,那么可以很⽅便的使⽤calloc函数来完成任务。指向的空间不是动态开辟的,那free函数的⾏为是未定义的。

2024-04-07 13:02:36 1114

原创 联合&枚举,编程界的黄金搭档!

上述的结构其实设计的很简单,⽤起来也⽅便,但是结构的设计中包含了所有礼品的各种属性,这样 使得结构体的⼤⼩就会偏⼤,⽐较浪费内存。联合的成员是共⽤同⼀块内存空间的,这样⼀个联合变量的⼤⼩,⾄少是最⼤成员的⼤⼩(因为联合⾄少得有能⼒保存最⼤的那个成员)。在C语⾔中是可以的,但是在C++是不⾏的,C++的类型检查⽐较严格。代码1输出的三个地址⼀模⼀样,代码2的输出,我们发现将i的第4个字节的内容修改为55了。这些可能取值都是有值的,默认从0开始,依次递增1,当然在声明枚举类型的时候也可以赋初值。

2024-04-07 12:19:03 446

原创 定义结构体不求人,这篇教程就够了!

结构体地址传参和结构体形参传参,这两个情况,地址一般是四和八个字节,在所以可以提升性能,x86情况下是32个字节,在x64情况是下是8个字节:由于压栈情况,可以提高性能,他存放的是地址,地址里面有四或八个字节,但是地址对应的数不知道是什么类型,有可能多有可能少,所以不用担心空间问题,而且非常快,反之形参传递的时候,由于是临时变量,如果里面东西多,则内存大,需要开辟的内存也非常多,所以会导致性能的下降。如果传递⼀个结构体对象的时候,结构体过⼤,参数压栈的的系统开销⽐较⼤,所以会导致性能的下降。

2024-04-07 07:27:35 709

原创 数据存储不迷茫,内存管理有妙招!

型(要看具体的编译器),另外,对于位数⼤于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度⼤于⼀个字节,那么必然存在着⼀个如何将多个字节安排的问题。⼤端(存储)模式:是指数据的低位字节内容保存在内存的⾼地址处,⽽数据的⾼位字节内容,保存在内存的低地址处。⼩端(存储)模式:是指数据的低位字节内容保存在内存的低地址处,⽽数据的⾼位字节内容,保存在内存的⾼地址处。其实超过⼀个字节的数据在内存中存储的时候,就有存储顺序的问题,按照不同的存储顺序,我们分为。⾼位的⼀位是被当做符号位,剩余的都是数值位。

2024-04-04 07:00:00 672

原创 C语言内存函数,让内存管理更高效!

• 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。• 如果source和destination有任何的重叠,复制的结果都是未定义的。memset是⽤来设置内存的,将内存中的值以字节为单位设置成想要的内容。⽐较从ptr1和ptr2指针指向的位置开始,向后的num个字节。对于重叠的内存,交给memmove来处理。memmove使⽤和模拟实现。memcpy使⽤和模拟实现。memset函数的使⽤。memcmp函数的使⽤。

2024-04-03 16:24:32 446 2

原创 字符函数与字符串函数,让你的代码更高级

这个头⽂件中说明的,C语⾔程序启动的时候就会使⽤⼀个全⾯的变量errno来记录程序的当前错误码,只不过程序启动的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会讲对应的错误码,存放在errno中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。⽐较str1和str2的前num个字符,如果相等就继续往后⽐较,最多⽐较num个字⺟,如果提前发现不⼀样,就提前结束,⼤的字符所在的字符串⼤于另外⼀个。结尾,返回⼀个指向这个标记的指针。

2024-04-03 12:53:41 1110

原创 指针知识大礼包,让你的编程之路更顺畅(四)

首先我们知道strlen是/0前面的元素个数,arr数组名,还有*就不是单独的,所以arr表示的是首元素的地址,再*引用,就是表示a,a的类型又是char * 所以就是97,让你算/0前面的元素个数,不是算值97,所以非法访问error。回调函数不是由该函数的实现⽅直接调⽤,⽽是在特定的事件或条件发⽣时由另外的⼀⽅调⽤的,⽤于对该事件或条件进⾏响应。,单位是字节,如果操作数是类型的话,计算的是使⽤类型创建的变量所占内存空间的⼤⼩。2. srtlen是求字符串⻓度的,统计的是 \0 之前字符的隔个数。

2024-03-30 08:49:21 1238 1

原创 计算机基础,挑战全网最全解析(一)

摩尔斯码布莱叶盲文。

2024-03-28 17:34:01 155

原创 指针知识大礼包,让你的编程之路更顺畅(三)

所以,根据数组名是数组⾸元素的地址这个规则,⼆维数组的数组名表⽰的就是第⼀⾏的地址,是⼀ 维数组的地址。根据上⾯的例⼦,第⼀⾏的⼀维数组的类型就是 型就是数组指针类型 int [5] ,所以第⼀⾏的地址的类 int(*)[5]。解释:p先和*结合,说明p是⼀个指针变量,然后指着指向的是⼀个⼤⼩为10个整型的数组。⾸先我们再次理解⼀下⼆维数组,⼆维数组起始可以看做是每个元素是⼀维数组的数组,也就是⼆维数组的每个元素是⼀个⼀维数组。之前我们学习了指针数组,指针数组是⼀种数组,数组中存放的是地址(指针)。

2024-03-27 19:49:41 1124 1

原创 词根词缀基础

一.词根词缀方法:1. 类似中文的偏旁部首(比如“休”=单人旁+木→一个人靠木头上休息)2. 把单词拆分后,每一个部分都有它自己的意思,拼凑在一起就构成了这个单词的意思3. 一个规律,适用大部分单词二.词根词缀方法实践。

2024-03-26 21:59:02 226

原创 指针知识大礼包,让你的编程之路更顺畅(二)

这⾥我们发现&arr[0]和&arr[0]+1相差4个字节,arr和arr+1相差4个字节,是因为&arr[0]和arr都是 ⾸元素的地址,+1就是跳过⼀个元素。parr[i]是访问parr数组的元素,parr[i]找到的数组元素指向了整型⼀维数组,parr[i][j]就是整型⼀维数 组中的元素。这⾥我们使⽤ &arr[0] 的⽅式拿到了数组第⼀个元素的地址,但是其实数组名本来就是地址,⽽且 是数组⾸元素的地址,我们来做个测试。,这就是因为&arr是数组的地址,+1操作是跳过整个数组的。

2024-03-25 20:29:48 800

空空如也

空空如也

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

TA关注的人

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