- 博客(63)
- 资源 (52)
- 收藏
- 关注
原创 SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)
1、GB库的下载2、GB库的安装教程3、GB库的使用教程
2022-07-02 17:24:30
90320
27
原创 Verilog与VHDL代码转换工具X-HDL的安装、使用教程(详细)以及报错:Translation error的解决办法
一、安装1、获取安装包:链接:https://pan.baidu.com/s/12CuBeF2NNCnjLpAn6hpL6A提取码:zwfz2、解压压缩包,运行X-HDL-4.2.1-Setup.exe。(1)弹出以下对话框,根据使用语言选择(没有中文),选择好后点击OK(2)点击continue,然后点击next(3)选择安装位置(路径无中文),然后点击next(4)点击next(5)再点击一次next后,直接安装,安装很快,安装好后如图所示,我们先关闭它,接下来破解:2、
2022-05-10 22:44:34
10451
5
原创 Verilog入门设计(三)——组合电路和逻辑电路的仿真
数字电路仿真一、测试平台(Test Bench)1、测试程序一般结构2、激励信号产生方式举例2.1 initial语句产生激励信号2.2 always语句产生激励信号二、组合电路的仿真1、8位乘法器的仿真2、8位加法器的仿真3、2选1数据选择器的仿真三、时序电路的仿真8位计数器的仿真一、测试平台(Test Bench) 测试平台的作用是给我们的设计进行验证,通过给被测试模块施加激励信号,观察其输出,然后判断其逻辑功能与时序关系正确与否来判断这个设计是否符合需求。 从图中可以看出,测试模块向待测木
2022-04-14 23:00:14
2606
原创 questasim的傻瓜式安装与仿真教程
一、安装1、下载软件链接:https://pan.baidu.com/s/1S05AnO_w-wy6RsAj_kdUXg提取码:p2nt2、根据电脑类型是32位还是64位,解压不同安装包。解压得:2、运行.exe文件,出现:问题及解决办法: 这是杀毒软件造成的,因此在安装过程中关闭杀毒软件即可。关闭之后,再次运行.exe文件。3、点击下一步,进入选择安装位置界面,如下:选择好安装位置后点击下一步。4、点击同意5、接下来等待安装结束即可,在安装过程中,会跳出来弹框,询问是否要添
2022-04-12 22:49:56
23091
33
原创 SystemVerilog与功能验证-学习笔记——第一章:功能验证技术与方法学概要(一)
功能验证技术与方法学概要1.1 功能验证与验证平台1.1.1 专用芯片设计流程1.1.2 什么是验证1.1.3 验证平台可以做些什么1.1.4 功能验证流程1.2 验证技术和验证方法学1.2.1 黑盒、白盒与灰盒验证1.2.2 验证技术1.2.3 验证存在的挑战1.2.4 验证方法学1.2.5 断言验证1.2.6 覆盖率驱动验证 本章从芯片设计流程入手,讨论功能验证在整个流程中的位置及其所涵盖的内容,并介绍目前流行的各种验证技术和验证方法学,最后介绍常用的验证语言SystemVerilog、E、PSL
2022-04-10 15:39:05
1441
原创 Verilog入门设计(二)——基本逻辑电路设计
基本逻辑电路设计一、触发器1、D触发器(1)基本D触发器(2)带异步清零、异步置1的D触发器(3)带同步清零、同步置1的D触发器2、JK触发器(1)带异步清零、异步置1的JK触发器二、寄存器与锁存器1、锁存器(1)电平敏感的1位数据锁存器(2)带置位端和复位端的1位数据锁存器(3)8位数据锁存器2、寄存器(1)8位数据寄存器(2)8位移位寄存器三、计数器与串并转换器1、计数器(1)可变模加法/减法计数器(2)4位Johnson计数器2、串/并转换器(1)串并转换器(2)并串转换器四、简易微处理器一、触发器
2022-04-06 22:50:03
8239
1
原创 Verilog入门设计(一)——基本组合电路设计
1、基本门电路图1 门电路基本门电路的几种描述方法:(1)门级结构描述module gate1(a,b,c,d,f);input a,b,c,d;output f;nand(s1,a,b);and(s2,b,c,d);or(f,s1,s2);endmodule(2)数据流描述module gate2(f,a,b,c,d);input a,b,c,d;output f;assign f=(~(a&b))|(b&c&d);endmodule(3)行
2022-04-05 15:02:13
4235
原创 Verilog HDL Conditional Statement error at xxx.v(8): cannot match operand(s) in the condition to the
一、问题描述在学习Verilog的过程中,使用Verilog进行状态机设计,验证书中的代码时,出现以下错误。//FSM.v 代码module FSM(clk,clr,out,start,step2,step3);input clk,clr,start,step2,step3;output[2:0] out;reg[2:0] out;reg[1:0] state,next_state;parameter state0=2'b00,state1=2'b01,state2=2'b11,state3=
2022-03-02 20:51:06
2593
原创 quartus+modelsim仿真教程
一、编写设计程序1、新建工程:打开quartus软件,菜单栏:File->New Project Wizard,然后得到下图界面:点击next。在该界面中需设置工程目录以及工程名。本项目没有写好的代码,直接点击next进入下一步。在以下界面选择相应的设备,这需要根据你手上设备的型号选择。本项目不需要再实物开发板上验证,所以不进行选择或者随意选择一款均可。接下来是EDA工具选择,选择好后点击next。最后一步是之前的一个总结报告,直接finish就好。至此,成功新建一个项目。
2022-02-24 17:48:23
30254
3
原创 quartus II波形仿真错误:Error: Waveform2.vwf.vt(30): near “,“: syntax error, unexpected ‘,‘ # ** Error 解决方法
一、问题在使用quartus设计基于D触发器的4分频器时,进行波形图仿真时出现以下错误: Error: Waveform2.vwf.vt(30): near ",": syntax error, unexpected ','# ** Error: D:/Quartus/modelsim_ase/win32aloem/vlog failed.# Executing ONERROR command at macro ./D4.do line 4Error. 二、解决方法在原理图设计中,我的输入
2021-12-26 22:08:54
12347
2
原创 Python处理异常的方法:ZeroDivisionError、ValueError、FileNotFoundError异常
一、什么是异常、为什么要处理异常Python使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让Python不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行;如果你未对异常进行处理,程序将停止,并显示一个traceback,其中包含有关异常的报告。二、如何处理异常异常是使用try-except 代码块处理的。try-except 代码块让Python执行指定的操作,同时告诉Python发生异常时怎么办。使用了try-except 代码块时,即便出现异常
2021-11-23 15:21:22
4229
原创 Python中import问题:被导入模块与导入模块文件不在同一目录下的两种解决方案
一、问题在Python中,我们常常需要使用到其他模块的函数方法,但这个模块与打算调用这个模块的文件可能不再同一目录下,这将导致无法正确import 这个模块。二、解决方法1、添加临时路径示例代码:如下,要导入的 my_math.py模块与test1.py不在同一目录下,将会产生“No module named 'my_math'”的错误。# test1.pyimport my_matha=1b=3my_math.my_add(a,b)# my_math.pydef my_add(a,
2021-11-21 22:10:03
4518
原创 while里面scanf()被忽略的解决办法
一、问题运行以下代码:#include<stdio.h>#include<stdlib.h>int main(){ int a, b; char c=NULL; while (c!='n') { printf("请输入a的值:"); scanf_s("%d", &a); switch (a) { case 1:printf("%d", a * a); break; case 2:printf("%d", a * a); break;
2021-11-07 22:20:03
515
原创 在while里使用scanf_s,输出带有“[“的解决方案
一、问题在while中使用scanf_s函数,出现以下问题:出错代码:#include<stdio.h>int main(){ char c; while (scanf_s("%c", &c) != EOF) { printf("%c", c+ 4); } return 0;}输出结果:输出结果应该是“E”,但是多了“[”。二、解决方法将while中修改如下即可解决:scanf_s("%c", &c) != EOF &&
2021-11-07 16:23:51
167
原创 C语言相关常见面试题:volatile、static、extern、const关键字
1、volatile一个变量可能是供多方使用的,那么就有可能在某一个程序运行时,这个变量的值被其他程序改变(内存地址中的值被改变),但是读取这个变量时,可能是直接从寄存器中读取,而此时寄存器中的值还是变量改变之前的值。这就会导致得出意想不到的结果。使用volatile修饰变量,表示声明这个变量是“易变的”,每次读取这个变量值都要从内存中读取,而不是从寄存器中读取。1.1 volatile的作用:确保本条指令不会因编译器的优化而省略,使用volatile 声明的变量的值的时候,系统总是重新从它所在的内
2021-10-26 23:16:13
570
原创 关于内存的编程题,对异常: 0xC0000005 的分析以及解决办法
一、内存的思考题。请问运行Test函数会有什么样的结果?void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf("%s", str);}结果:在语句strcpy(str, "hello world")发生错误。引发的异常: 0xC
2021-10-10 21:07:46
4067
2
原创 指针用作函数参数,形参和实参用不用指针的区别
一、实参与形参都不是指针,通过修改形参的值来改变实参的值结果:不可以改变实参的值#include<stdio.h>int swap(int a,int b){ int temp; temp = a; a = b; b = temp; return 0;}int main(){ int a=2, b=4; printf("%d\t%d\n", a, b); swap(a, b); printf("%d\t%d\n", a, b); return 0;}输出:
2021-10-10 20:10:09
1930
原创 解决数组过大导致Stack Overflow的两个方法:改变栈大小和使用堆来存放数组
一、检查以下代码的问题,并进行修改int a[20][650][1000],i,j,k; for (i = 0; i < 20; i++) for (j = 0; j < 650; j++) for (k = 0; k < 1000; k++) a[i][j][k] = 0;出错信息:0xC00000FD: Stack overflow (参数: 0x00000000, 0x00E42000)。即栈溢出,通常来说,栈的大小为1024K bytes=102410
2021-10-09 00:23:32
2531
1
原创 Samba实现Linux与windows文件共享
一、Samba是什么samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成
2021-10-07 16:41:48
8547
1
原创 嵌入式笔试题目及解析
1、格式错误:您的程序输出的格式不符合要求(比如空格和换行与要求不一致)错误: printf("%d\t", In[j]);printf("%d\n", va[j]);正确:printf("%d %d\n", In[j],va[j]);
2021-09-03 21:54:29
7188
1
原创 大疆笔试题目总结--参考历届试卷
一、题型分析1、选择题(单选题、多选题);2、填空题;3、简答题;4、编程题。二、题目解析1、选择题(1)sizeof union和struct解答: 涉及知识点:数据类型字节长度和内存对齐。可参考:快速理解内存对齐以及#pragma pack(2)ARM指令和Thumb指令解答:在ARM的体系结构中,可以工作在三种不同的状态,一是ARM状态,二是Thumb状态及Thumb-2状态,三是调试状态。而ARM状态和Thumb状态可以直接通过某些指令直接切换,都是在运行程序,只不过指令长度不
2021-08-14 13:49:26
19819
6
原创 快速理解内存对齐以及#pragma pack
一、内存对齐目的与原理1、内存对齐的目的假如没有内存对齐机制,数据可以任意存放,现在一个int变量存放在从地址1开始的联系四个字节地址中,该处理器去取数据时,要先从0地址开始读取第一个4字节块,剔除不想要的字节(0地址),然后从地址4开始读取下一个4字节块,同样剔除不要的数据(5,6,7地址),最后留下的两块数据合并放入寄存器.这需要做很多工作。现在有了内存对齐的,int类型数据只能存放在按照对齐规则的内存中,比如说0地址开始的内存。那么现在该处理器在取数据时一次性就能将数据读出来了,而且不需要做额外
2021-08-13 20:53:36
4249
2
原创 C语言:逻辑表达式中不能使用浮点数进行==和!=的解决方法
一、问题在C语言中,不能使用浮点数进行==和!=运算,比如以下代码:#include<stdio.h>int main(){ float a = 3.14; if (a == 3.14) { printf("%f",a); } return 0;}运行后会报错,如下:二、原因C语言中,==和!=是双目运算符,在进行运算时会把两边的数或者变量转换成二进制数来进行对比,从而来判断其相等或是不等。对于整数来说,可以将之转换为对应确定的二进制数;但对于浮点数来说,
2021-08-07 16:44:03
2215
1
原创 电脑无法识别USB设备(CH340驱动)的解决办法
一、问题插入USB插入电脑中,却弹出“无法识别USB设备”。查看设备管理器,发现可以看到该端口,但是有些问题。查看其属性发现可能是数字签名的问题:二、解决步骤1、电脑->设置->更新与安全2、恢复->立即重新启动...
2021-08-06 22:11:27
17543
6
原创 Linux安装gcc和运行代码教程
一、安装gcc1、打开terminal,安装gcc:输入:sudo apt install gcc然后输入密码进行安装。如下图:2、检查是否安装成功等待安装结束,输入gcc -v或者gcc -version 检查gcc版本,如果出现以下内容,说明安装好了。如果出现以下内容,说明安装失败:3、更新安装失败原因可能是你的已安装软件与要下载的gcc版本不对应,这是需要对你的软件进行更新。输入:sudo apt-get install update进行更新。之后再次安装gcc就可以成功安
2021-08-06 16:38:33
29515
原创 Linux与Windows设置共享文件夹的实现
1、在Windows下随意找一个文件夹,用来当作共享文件夹。比如我的共享文件夹位置如下:2、在虚拟机依次进行如下操作(1)在菜单栏,点击“虚拟机”->“设置”(2)进入虚拟机设置界面,依次点击“选项”->“共享文件夹”->由“已禁用”选择为“总是启用”->点击”添加“,找到Windows下你准备用作共享文件夹的文件夹。(3)进入添加共享文件夹向导界面点击下一步进入以下界面:游览到相应目录下,点击确定,回到添加共享文件夹向导界面,可以看到共享文件夹文件夹名称
2021-08-06 16:02:34
7438
2
原创 Linux和Windows共享文件夹:/mnt目录下没有/hgfs的解决办法
一、问题linux与windows之间设立共享文件夹,但在/mnt文件夹下没有hgfs文件夹。
2021-08-06 14:01:54
26976
7
原创 C语言随机函数:rand()和srand()的使用及示例
一、rand()函数1、rand()函数原理rand()函数用于产生一个随机数,其内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。调用rand()函数会得到一个在0-RAND_MAX。RAND_MAX在头文件stdlib.h中定义。2、调用方法想要使用rand()函数产生一个(a,b)区间的数num,可以使用以下两种方式:(1)num=a+(b-a+1)*rand()/(RAND-MAX+1.0);(2)a+rand%(b-a+1);注意公式(1)用的
2021-07-18 00:56:51
48172
7
原创 “你需要TrustedInstaller提供的权限才能对此文件进行更改” 解决方案
一、问题二、解决步骤1、选择该文件->右键->属性2、进入属性界面,安全->高级3、可以看到现在该文件所有者是TrustedInstaller,点击“更改”4、输入你的用户名,然后点击“检查名称”。用户名可在电脑端查看,如下图所示,我的用户名为:Administrator点击“检查名称”后自动转化成如下结果,点击确定。5、返回属性界面,点击“编辑”添加刚才的用户,并给与“完全控制”的权限。添加结果如下:点击"确定",弹出警告对话框,点击“是”即可:
2021-07-17 16:00:49
113648
21
原创 keil5 出现 No Debug Unit Device found
一、问题接上link后,出现一下情况: 二、解决办法1、修改Utilities如下2、修改Debug如下三、成功检测到端口
2021-07-16 23:41:33
36862
12
原创 visual studio 无法打开源文件 “xxx.h“ 的解决办法
1、问题导入一个新的工程,编译后报错:无法打开源文件 “xxx.h” 错误原因:没有导入该头物件,或者工程没包含包含该头文件的目录。2、解决办法配置导入头文件包含目录,点击项目->属性进入属性页:点击编辑后进入以下页面:点击新建一行,然后游览到包含该头文件的目录。包含该头文件的目录如下,需要注意的是从visual studio上游览时是看不到文件的,进入此文件夹,然后点击“选择文件”夹即可。下图是从visual studio 看到的:经过以上步骤,问题就可以解决了。
2021-07-15 19:48:28
256839
26
转载 C++ vector教程
文章目录vector:1.1 vector 说明1.2 vector初始化:1.3 vector对象的常用内置函数使用(举例说明)顺序访问vector的几种方式,举例说明2.1. 对向量a添加元素的几种方式2.2 从向量中读取元素几个常用的算法1.vector1.1 vector 说明vector是向量类型,可以容纳许多类型的数据,因此也被称为容器(可以理解为动态数组,是封装好了的类)。进行vector操作前应添加头文件#include <vector>1.2 ve
2021-07-06 00:00:53
317
原创 SolidWorks2021标准库使用方法
1、新建一个工程2、点击右方设计栏的第二个模块:设计库第一次使用会出现下面图示:然后点击Tollbox:然后显示Toolbox未插入,然后点击现在插入:3、插入后得到下图所示界面,在上面栏选择某一文件夹,其文件夹下文件显示在下方框中。4、使用、配置零件。以配置螺母为例:(1)(2)在下方出现螺母类型,选择其中一种右键,选择“生成零件”(3)选择螺母大小,点击√即可。(4)回到模型栏,找到刚刚配置的零件(颜色为浅蓝色),左键按住拖入工作区。(5)点击“是”...
2021-06-23 11:23:24
8546
原创 导入TI cc3200-sdk 的工程出错:Description Resource Path Location Type --float_support=fpalib is depreca的解决办法
1、问题:导入工程后工程有红×错误,如下图:解决办法:右键工程->properties->General,得到下图:根据提示可知处理器:Cortex M.CC3200不适用于该工程,因此在上图2处更改适合自己板子的处理器。比如说我选择的是Cortex-M4:修改完后点击apply and close,可以看到红×依然在。2、点击编译,得到以下错误:Description Resource Path Location Type–float_support=fpalib is dep
2021-06-15 21:33:21
2029
原创 Uncaught SyntaxError: missing : after property id解决办法
最近进行web学习过程中,遇到了一个问题,就是使用登录界面点击登录后,跳转的用户管理界面没有显示出应该显示的表格:正确应该出现以下内容:$(function($) { var $table = $("#usertab"); $table.bootstrapTable({ height:'600px', // 设置请求的URL,向后台拉取数据 url:'getUserListController.do', // 设置为HTTP GET方式请求 method:"GET
2021-06-13 16:22:36
4284
原创 JAVA--前后端整合:跨源请求问题搞不定?可能是你打开方式不对!!
最近在搞前后端整合,用Chrome的开发者工具调试:总是出现以下错误:旺旺上一贴:“跨源请求问题”,然后我就开始各种查解决方案,尝试过配置Tomcat允许跨源啊这些方法。但都没能解决问题,最后我才发现一直都是直接在本地目录打开***.html文档,而不是将工程配置到服务器上打开工程,白调了这么长时间。我未能早发现的原因是:我的前后端整合是做一个登录界面,直接打开login.html和打开整个工程是一样的。但他们在游览器上是有差别的,如下:配置到服务器上的会显示出服务器的标识。...
2021-06-10 23:15:08
103
原创 Java——LinkedList,Iterator();使用it.hasNext()报错的解决方案
使用LinkedList实例化一个list集合,通过Iterator()方法序列化集合中的对象。java.util.Iterator<String> it = list.iterator();while (it.hasNext()) { System.out.println(it.next()); } 在循坏输出时出现以下错误:Exception in thread "main" java.util.ConcurrentModificationException at j
2021-06-10 21:05:12
1047
原创 Multisim安装出现“No software will be installed or removed”的解决办法
1、出现这种错误的原因是之前安装过Multisim,但卸载不干净导致的。2、解决办法:在控制面板处卸载Multisim并不能完全清除,可以使用一个NI卸载软件来卸载相应的NI产品、补丁。然后再进行安装。NI卸载软件如下:NI卸载软件:链接:https://pan.baidu.com/s/1n-C8eI9bn4T_pu6ILuhqyg提取码:keyx...
2021-05-14 09:45:13
16360
13
原创 MSP432P401R 用户指南 ADC模块—中文版
22.1精密ADC简介 高精度ADC模块是原生14位SAR模数转换,最高支持16位通过软件过采样精确度。 该模块实现了14位SAR内核,样本选择控制,以及多达32个独立的转换和控制缓冲区。 转换和控制缓冲区允许最多32个独立的模数转换器(ADC)样本进行转换和存储任何CPU干预。精密ADC功能包括: •1-Msps最大转换速率,最大分辨率为14位 •单调14位转换器,无失...
2021-05-13 11:23:19
7650
原创 ROM、RAM、SRAM、DRAM、EEPROM、Flash的区别
1、ROM(Read Only Memory),中文名即只读内存。是一种只能读出事先所存的数据的固态半导体存储器。ROM中所存数据稳定,一旦存储数据就再也无法将之改变或者删除,断电后所存数据也不会消失。其结构简单,因而常用于存储各种固化程序和数据。2、EEPROM (Electrically Erasable Programmable Read-Only Memory),带电可擦可编程只读存储器–一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般即插即用
2021-04-27 18:42:25
2558
钢结构、铝型材库及其安装使用教程。
2022-07-02
Cura切片软件.rar
2021-08-15
eUSCI_B_TFT_320x240_LCD_v4.zip
2021-08-08
矩阵键盘demo代码:Key_S1S2_Scan_GPIO_v6s.zip
2021-08-08
4*4矩阵键盘使用代码示例:Key_4x4_GPIO_dv5s.zip
2021-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人