- 博客(23)
- 收藏
- 关注
原创 硬件基础------运放
运放:运算放大器,常用作信号处理。如:信号放大,滤波,积分,微分,整流,甚至可以用来做电路主控等等。其功能功能非常强大。
2025-07-17 18:21:40
277
原创 硬件基础------比较器
取得越小,信号的上升速度越快,相应的电流也会越大,损耗就会越大。所以电流不能超过比较器的吸收电流。解决方法:加一个回滞电路,参考点输入端加一个小电阻,反馈信号线上加一个100倍的电阻。因为V+和V-处于一种不稳定的状态,所以在交会那个点是很容易出现颤振问题。比较器的输入范围不能超过芯片的供电范围,超过供电范围可能会工作异常。比较器的输出结构主要分为 OC||OD(开漏),推挽输出三种结构。比较器有两个输入信号V +和V-;当V+>V-时,Vout为高电平。当V+<V-时,Vout为低电平。
2025-07-17 11:44:06
205
原创 硬件基础------二极管
二极管的结构就是一个PN结,导通后存在压降(硅管≈0.7V;锗管≈0.3V)其结构就像一个漏斗结构,普通二极管只能二极管导通电压不是恒定不变的,流过二极管的电流越大,二极管的压降就会越大。注意:二极管两端不能直接接入大于二极管导通压降的电压,否则电流会很大,烧毁二极管。
2025-07-13 16:33:45
264
原创 硬件基础------电感
电感是抵抗流过它的变化的现象,电感的本质是中的磁场变化电场电场的方程。当导体中电流产生变化时,相应地磁场也会发生变化,根据和,这会产生相应的,电动势的作用会抵抗电流的变化。电感就是一根导线加一个磁性材料组成。
2025-07-10 21:46:46
650
原创 硬件基础------电容
电容是一种能以电荷的形式储存能量的装置。与同样大小的电池相比,电容能储存的能量要小得多,大约比电池1万倍,但对于许多电路设计来说却足够有用。电容是由两块金属板构成的,两块金属板由一种叫做电介质的绝缘材料隔开。极板是导电的,通常由铝、钽或其他金属制成,而电介质可以由任何一种绝缘材料制成。
2025-07-01 22:49:51
631
原创 FreeRTOS实时操作系统学习笔记
RTOS是指一类系统,如 FreeRTOS,uC/OS,RTX,RT-Thread 等,都是 RTOS 类操作系统。,并且支持中文。任务调度:FreeRTOS通过任务调度器管理多个任务,支持不同优先级的任务,实现任务的有序执行。任务通信和同步:提供了队列、信号量等机制,支持任务之间的通信和同步,确保数据的安全传递。内存管理:提供简单的内存管理机制,适用于嵌入式环境,有效利用有限的内存资源。定时器和中断处理:支持定时器功能,能够处理中断,提供了可靠的实时性能。
2025-06-02 20:25:31
1101
原创 LeetCode-16.最接近的三数之和 C++实现
给你一个长度为n的整数数组nums和 一个目标值target。请你从nums中选出三个整数,使它们的和与target最接近。返回这三个数的和。假定每组输入只存在恰好一个解2与 target 最接近的和是 2 (-1 + 2 + 1 = 2)。0与 target 最接近的和是 0(0 + 0 + 0 = 0)。
2025-04-16 11:10:14
594
原创 LeetCode-15.三数之和 C++实现
给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。
2025-04-10 10:30:39
955
原创 LeetCode-14.最长公共前缀 C++实现
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。"fl"" "输入不存在公共前缀。
2025-04-09 10:10:49
224
原创 LeetCode-13.罗马数字转整数 C++实现
罗马数字包含以下七种字符:IVXLCD和M。例如, 罗马数字2写做II,即为两个并列的 1。12写做XII,即为XII。27写做XXVII, 即为XXVII。通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做IIII,而是IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4。同样地,数字 9 表示为IX。I可以放在V(5) 和X(10) 的左边,来表示 4 和 9。X可以放在L(50) 和C。
2025-04-08 10:15:39
2082
原创 LeetCode-12.整数转罗马数字 C++实现
比如,先处理最大的可能值,比如1000对应的M,然后是900(CM),500(D),400(CD),依此类推,直到1(I)。如果该值不是以 4 或 9 开头,请选择可以从输入中减去的最大值的符号,将该符号附加到结果,减去其值,然后将其余部分转换为罗马数字。1. 创建两个vector数组或者一个pair数组,里面按从大到小的顺序排列数值和对应的罗马符号,包括那些特殊的组合。a. 当当前的数值小于等于剩下的num时,将对应的罗马符号添加到结果中,并减去该数值。给定一个整数,将其转换为罗马数字。
2025-04-07 09:44:21
524
原创 LeetCode-11.盛最多水的容器 C++实现
给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。
2025-04-01 09:18:55
599
原创 LeetCode-9.回文数 C++实现
给你一个整数x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。121123x = 121truex = -121false从左向右读, 为 -121。从右向左读, 为 121-。因此它不是一个回文数。x = 10false从右向左读, 为 01。因此它不是一个回文数。
2025-03-31 10:17:40
472
原创 LeetCode-8.字符串转换整数 C++实现
请你来实现一个函数,使其能将字符串转换成一个 32 位有符号整数。函数读入字符串并丢弃无用的前导空格(" "检查下一个字符(假设还未到字符末尾)为'-'还是'+'。如果两者都不存在,则假定结果为正。通过跳过前置零来读取该整数,直到遇到非数字字符或到达字符串的结尾。如果没有读取数字,则结果为0。如果整数数超过 32 位有符号整数范围,需要截断这个整数,使其保持在这个范围内。具体来说,小于−231的整数应该被舍入为−231,大于231 − 1的整数应该被舍入为231 − 1。返回整数作为最终结果。
2025-03-31 09:55:53
729
原创 LeetCode-7.整数反转 C++实现
给你一个 32 位的有符号整数x,返回将x中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围,就返回 0。
2025-03-30 11:39:07
448
原创 51单片机学习笔记(未完结)
位数:8位RAM:512字节工作频率:12MHzTTL规范(I/O口工作模式:弱上拉强下拉:输出1驱动能力有限,输出0驱动能力较强。
2025-03-28 18:57:47
2373
原创 LeetCode-6.Z字变换
将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为行数为3时,排列如下:。请你实现这个将字符串进行指定行数变换的函数:Y A H RP I"A"
2025-03-28 10:39:38
1948
原创 LeetCode-3.无重复的最长字串 C++实现
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke" 是一个子序列,不是子串。
2025-03-27 10:02:00
809
原创 LeetCode-2.两数相加 C++实现
通常,处理链表相加的问题,可以模拟竖式加法的方式,逐位相加,同时处理进位。因为链表已经是逆序存储的,所以可以直接从头节点开始相加,这样每一位对齐,方便处理。- 最后还有进位的情况,例如999 + 1 = 1000,这时候需要在结果链表中添加一个额外的节点。4. 每次取出两个链表当前节点的值(如果存在),加上进位jinwei,计算当前位的总和temp。- 两个链表长度不同,例如一个链表比另一个长,这时候要继续处理较长的链表剩下的节点。9.循环结束后,返回哑节点的下一个节点作为结果链表的头节点。
2025-03-26 09:36:19
435
原创 LeetCode-5.最长回文子串 C++实现
给你一个字符串s,找到s中最长的回文子串(如果字符串向前和向后读都相同,则它满足。"bab""aba" 同样是符合题意的答案。s = "cbbd""bb"仅由数字和英文字母组成。
2025-03-25 14:24:13
641
原创 LeetCode-4.寻找两个正序数组的中位数 C++实现
给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的。算法的时间复杂度应该为。2.00000合并数组 = [1,2,3] ,中位数 22.50000合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5。
2025-03-25 10:40:13
755
原创 LeetCode-1.两数之和 C++实现
你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。你可以按任意顺序返回答案[0,1]因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。[1,2][0,1]
2025-03-25 09:25:38
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人