- 博客(27)
- 资源 (4)
- 收藏
- 关注
原创 第二章-FPGA的概要-《FPGA的原理与结构》
第二章-FPGA的概要目录2.1 FPGA的构成要素2.2 可编程技术2.2.1 闪存基于闪存的可编程开关2.闪存可编程开关的优缺点2.2.2反熔丝2.2.3 静态存储器2.2.4 可编程技术的总结2.3 FPGA的逻辑实现2.3.1 在FPGA上实现电路2.3.2 基于乘积项的逻辑实现2.3.3 基于查找表的逻辑实现查找表的构造2.3.4 其他逻辑实现2.1 FPGA的构成要素FPGA是可编程逻辑器件(PLD)的一种现场:fi
2022-04-13 19:25:59 3050 1
原创 第一章 理解FPGA所需的基础知识(一)-《FPGA的原理与结构》
FPGA原理与结构第一章 理解FPGA所需的基础知识1.1.4 组合逻辑电路逻辑电路根据是否包含记忆元件,分为组合逻辑和时序逻辑电路。组合逻辑的电路的特点:1、组合逻辑电路不包含记忆元件2、某个时间点的输出(逻辑函数值)仅仅取决于当时的输入3、允许有多个输入/输出内部由于计算逻辑与(AND)、逻辑或(OR)和逻辑非(NOT)等基本逻辑函数的逻辑门,以及门电路间的连线组成。以下是逻辑门的符号、真值表和逻辑表达式1.1.5 时序逻辑电路含有记忆元.
2022-04-10 17:05:00 882
转载 [嵌入式]uboot启动的流程
原文链接:https://blog.csdn.net/kernel_yx/article/details/53045424最近一段时间一直在做uboot移植相关的工作,需要将uboot-2016-7移植到单位设计的ARMv7的处理器上。正好元旦放假三天闲来无事,有段完整的时间来整理下最近的工作成果。之前在学习uboot时,在网上看了很多文章,很多都是基于老版本的的uboot,并且很多都是直接从代码开始分析,并没有将uboot与ARM处理器体系结构结合起来。毕竟很多时候做一件事情,你知道怎么去做这件事..
2022-03-19 12:56:19 1558 2
原创 【野火FPGA】Verilog的基本语法-笔记-1
初识Verilog HDLVerilog HDL的简介Verilog HDL 是一种硬件描述语言,以文本的形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能Verilog相比VHDLVerilog语法自有,易学易用适合算法级、门级设计代码简洁发展较快VHDL语法严谨,难以上手适合系统级设计代码冗长发展缓慢Verilog 基础语法逻辑值0:逻辑低电平,条件为假1:逻辑高电平,条
2022-03-08 20:15:01 834
原创 [Java]韩顺平基础30天p393-p405-笔记
0393_final目录0393_finalfinal关键字0394-final使用的注意事项和细节的讨论0395 final的细节20397 抽象类0398 抽象类的介绍抽象类的细节0401 抽象模板模式0402 接口0403 接口的快速入门0404 接口的实用性0405 接口的使用细节final关键字final可以修饰类、属性、方法和局部变量什么情况下会用到final:1)、当不希望类被继承时,可以使用final修饰//1)、
2022-03-08 17:12:55 565
原创 [stm32]STM32使用DMA的多路AD转换需要注意的问题
DMA的原理DMA(Direct Memory Access),即直接存储器存取,是一种快速传送数据的机制。数据传递可以从适配卡到内存,从内存到适配卡或从一段内存到另一段内存。DMA的好处:在DMA传送开始的短暂时间内,基本上有两个处理器为它工作,一个执行程序代码,一个传送数据。利用DMA传送数据的另一个好处是,数据直接在源地址和目的地址之间传送,不需要中间媒介。如果通过CPU把一个字节从适配卡传送至内存,需要两步操作。首先,CPU把这个字节从适配卡读到内部寄存器中,然后再从寄存器传送到内存
2022-03-01 21:46:29 1375
原创 [Stm32]小车项目(三)-OLED的开发和笔记
通过前面的介绍已经可以正常的驱动小车进行各个方向的行走了,那么为了方便我们后面的开发方便,比如距离的显示、行进方向及状态的显示等,那么接下来就具体讲解下OLED的软件开发这部分的功能·目录1、OLED的驱动及开发1.1 OLED.c1.2 OLED.h2、OLED驱动的经验1、OLED的驱动及开发关于OLED的基本原理这里都不在赘述了,直接上干货比较实在。同样的进行了对OLED代码进行了封装,这都是为了我们后面做项目方便移植及修改。OLED一般分为SPI驱动(7线或6线),I
2022-02-26 19:24:35 6470
原创 [Java]房屋出租系统-自己敲的才是自己的
房屋出租系统目录房屋出租系统1、首先我们要把要求和题目给理清楚2、把要实现的功能分好类(1)先把在domain就是主体的属性House写好,然后他们的Set和Get的方法,还要重写toString方法;(2)实现房屋的列表功能(3)添加房源的功能(4)删除房屋的功能自己的经验:1、首先我们要把要求和题目给理清楚实现基于文本界面的《房屋出租软件》 。 能够实现对房屋信息的添加、 修改和删除(用数组实现) , 并能够打印房屋明细表2、把要实现的功能分好类
2022-02-17 17:03:24 348
原创 [AD]-学习笔记-元件库介绍及电阻容模型和IC类器件的创建
目录一、Altium Designer二、电阻元件的原理图库创建1、先创建好下面如图的工程:2、点击最右下角的Panels---》选择SCH Library3、选择SchLib库,进行元器件原理图的绘制(component n. 组成部份,成分,部件)4、放置引脚(点击这个就可以放置IO引脚)5、设置捕捉栅格6、IC类的创建7、Altium Designer21下载链接一、Altium DesignerAltium Designer(简称AD)是一个设计原理图
2022-02-15 16:22:06 5183 2
转载 [STM32]初步 认识PID
目录一、为什么要引入PID二、编码器是什么?三、编码器工作原理是什么?一、为什么要引入PIDr是期望值,y是实际值上面图我们一般用的电机的上面是+下面是-,假设就顺时针转,反过来就是逆时针,上下的差值电压大的话速度就越大在这里假设我们设置PWM的占空比,我们给10m/s,在我的上一篇有细讲[STM32]个人学习笔记--通过C代码使用PWM_yanyonglin123的博客-CSDN博客因为给的力是一定的,但是如果我们放在不同的地面或者.
2022-02-11 17:49:37 2718
原创 [STM32]个人学习笔记--通过C代码使用PWM
目录什么是PWM怎么知道IO口能不能配置PWM?STM32F40X系列的数据手册和中文参考手册什么是PWM脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。 PWM的频率:是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);也就是说一秒钟PWM有多少个周期单位: H...
2022-02-11 10:59:59 927
原创 默认命名空间namespace(c++)
1、默认命名空间(1)又叫全局命名空间(2)默认命名空间引用其他命名空间方法:之前三种namespace调用方法(3)默认命名空间引用自己的方法:函数名称加(),例如:func();(4)其他命名空间引用默认命名空间中的方法::f();#include <iostream>using namespace std;void func_default(void);namespace test{ void func1(void) { ::func_defaul
2021-09-08 18:14:00 932
原创 namespace(C++)三种调用方法
1、命名空间namespace2、namespace的关键点有两个: (1)、解决全局变量还有函数名的冲突问题 (2)、如何访问另一个文件的命名空间下面是test1.cpp#include <iostream>using namespace std;/*******************命令空间定义*****************/namespace test{ void func1(void) { cout<< "in test...
2021-09-08 17:41:04 3192
原创 动态规划简单的四步骤
//第一步确定状态:假设就是想要求得最后的amount是11,则要算得最后一枚硬币面值为j,则(11-j);//第二步转移方程:假设i是要凑成的金额;则f[i]=min{f[i-1]+1,f[i-2]+1,f[i-3]+1}这里算得的是amount;//第三部初始化条件和边界情况:1、首先如果f[i-1]小于0,则都返回正无穷,f[0]=0(算不出来的才要初始化);边界情况a[j]<=i才可以进行计算//第四部计算顺序f[1].....f[a...
2021-04-06 16:24:25 2490
原创 <leetcode>34. 在排序数组中查找元素的第一个和最后一个位置
这里r-l+1,是因为两个值的时候,除以2会停在左边,l = mid ,会造成死循环;class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { if (nums.empty()) return vector<int>{-1, -1}; ...
2021-04-03 21:01:33 99
原创 <leetcode>76最小覆盖字符串(滑动窗口)
题目描述给定两个字符串 S 和 T,求 S 中包含 T 所有字符的最短连续子字符串的长度,同时要求时间复杂度不得超过 O„n”。输入输出样例输入是两个字符串 S 和 T,输出是一个 S 字符串的子串。Input: S = "ADOBECODEBANC", T = "ABC"Output: "BANC"在这个样例中, S 中同时包含一个 A、一个 B、一个 C 的最短子字符串是“BANC”。题解本题使用滑动窗口求解,即两个指针 l 和 r 都是从最左端向最右端移动,且...
2021-04-03 13:24:08 305
原创 <leetcode>142 环形链表
题目描述给定一个链表,如果有环路,找出环路的开始点。3.5 滑动窗口 – 11/143 –输入输出样例输入是一个链表,输出是链表的一个节点。如果没有环路,返回一个空指针。图 3.1: 题目 142 - 输入样例在这个样例中,值为 2 的节点即为环路的开始点。如果没有特殊说明, LeetCode 采用如下的数据结构表示链表。struct ListNode {int val;ListNode *next;ListNode(int x) : val(x), n...
2021-04-03 10:34:43 271
原创 <leetcode> 88 合并有序数组
题目描述给定两个有序数组,把两个数组合并为一个。输入输出样例输入是两个数组和它们分别的长度 m 和 n。其中第一个数组的长度被延长至 m + n,多出的n 位被 0 填补。题目要求把第二个数组归并到第一个数组上,不需要开辟额外空间。Input: nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3Output: nums1 = [1,2,2,3,5,6]题解因为这两个数组已经排好序,我们可以把两个指针...
2021-04-03 09:47:46 121
原创 <leetcode>167两数之和
3.1 算法解释双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。也可以延伸到多个数组的多个指针。若两个指针指向同一数组,遍历方向相同且不会相交,则也称为滑动窗口(两个指针包围的区域即为当前的窗口),经常用于区间搜索。若两个指针指向同一数组,但是遍历方向相反,则可以用来进行搜索,待搜索的数组往往是排好序的。对于 C++ 语言,指针还可以玩出很多新的花样。一些常见的关于指针的操作如下。 指针与常量int x;int * p1 = &x...
2021-04-03 09:11:33 102
原创 <leetcode> 简单的冒泡排序算法
#include<iostream>#include<vector>using namespace std;void printArray(vector<int>&v)//用来打印排序的函数{ for(int i =0;i<v.size();i++) { cout<<" "<<v[i]; }}void bubble_sort(vector<int>&nu...
2021-04-03 08:35:27 146
原创 <leetcode>快速排序算法
#include<iostream>#include<vector>using namespace std;void printVector(vector<int>& v) {for (v...
2021-04-02 21:39:23 137
原创 <leecode> 435 无重叠区间
[](int x){return x %3 == 0;}//这与f3()的函数定义很像:bool f3(int x){return x % 3 == 0;}题解求最少的移除区间个数,等价于尽量多保留不重叠的区间。在选择要保留区间时,区间的结尾十分重要:选择的区间结尾越小,余留给其它区间的空间就越大,就越能保留更多的区间。因此,我们采取的贪心策略为,优先保留结尾小且不相交的区间。具体实现方法为,先把区间按照结尾的大小进行增序排序,每次选择结尾最小且和前一个选...
2021-04-02 20:19:19 119
原创 135 分发糖果
题解 做完了题目 455,你会不会认为存在比较关系的贪心策略一定需要排序或是选择?虽然这一道题也是运用贪心策略,但我们只需要简单的两次遍历即可:把所有孩子的糖果数初始化为 1;先从左往右遍历一遍,如果右边孩子的评分比左边的高,则右边孩子的糖果数更新为左边孩子的糖果数加 1;再从右往左遍历一遍,如果左边孩子的评分比右边的高,且左边孩子当前的糖果数不大于右边孩子的糖果数,则左边孩子的糖果数更新为右边孩子的糖果数加 1。通过这两次遍历,分配的糖果就可以满足题目要求了。这里的贪心策略即为,在每次遍..
2021-04-02 18:55:48 81
原创 455 分饼干
2.1 算法解释顾名思义, 贪心算法或贪心思想采用贪心的策略,保证每次操作都是局部最优的,从而使最后得到的结果是全局最优的。举一个最简单的例子:小明和小王喜欢吃苹果,小明可以吃五个,小王可以吃三个。已知苹果园里有吃不完的苹果,求小明和小王一共最多吃多少个苹果。在这个例子中,我们可以选用的贪心策略为,每个人吃自己能吃的最多数量的苹果,这在每个人身上都是局部最优的。又因为全局结果是局部结果的简单求和,且局部结果互不相干,因此局部最优的策略也同样是全局最优的策略。2.2 分配问题455. Assi
2021-04-02 18:13:00 152
原创 C 语言 实现顺序存储线性表
/*ADT(LIST)需要的操作有:OPeration: InitList(*L):初始化操作,建立一个空的线性表L ListEmpty(L):若线性表为空,返回的是True,否则返回的是false ClearList(*L):将线性表清空 GetElem(L,i,*e):将线性表中L中的第i个位置元素值返回给e LocateElem(L,e):...
2021-04-01 22:31:25 498
原创 【刷题】leecode 997.有序数组的平方
classSolution{public:vector<int>sortedSquares(vector<int>&nums){for(inti=0;i<nums.size();i++){nums[i]*=nums[i];}for(inti=0;i&...
2021-03-27 20:44:06 185
转载 (STL版块)STL的基本概念(自己的笔记)
面试:面向对象三大特性:封装、继承、多态2 STL初识2.1 STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL 2.2 STL基本概念STL(Standard Template Library,标准模板库) STL 从广义上分为:容器(container) 算法(algorithm) 迭代..
2021-03-26 21:17:06 91
STM32+8266+上位机微信小程序+温湿度系统+毕业设计
2022-02-09
MFC课设(基本的增删改查)实验室设备系统
2021-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人