自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 win11系统时间自动更新失败,win11时间不对

更新win11后不久,突然有一天发现时间不对,网上查了很多教程,也无法自动更新时间。特别是连接学校网线的时候,手动点击立即同步时间也无法同步,显示同步失败。但是连接学校WiFi的时候又是可以手动同步时间,同步之后发现时间会慢慢变慢,然后就开始跟实际时间相差好几个小时。如果有遇到跟我一样问题的朋友也许可以试试这个方法。首先,管理员打开cmd,然后输入这个命令可以对系统文件进行修复,可能是我们系统时间文件损坏了。然后再做一个lsp修复,系统文件修复完成后就可以进行lsp修复了,输入这个操作是对分层服

2023-03-07 14:56:27 3247

原创 QByteArray使用方法

2021-09-03 10:09:57 442

原创 第一章之Qt应用程序开发框架

之前接手老师项目的时候,使用过Qt Creator,后面由于个人原因,一年多没有接触过Qt,之前并未深入学习,导致很多知识掌握不够。如今需要用Qt做一个上位机,然后现在开始从头开始查缺补漏。使用一本Qt5开发实战的一本书,从头开始看起,然后记笔记。第一章是初步了解Qt。然后画了一个框图。在这里插入图片描述...

2021-08-06 15:56:42 569 1

原创 Verilog HDL语言小知识

前面已经介绍了什么是HDL,现在我们来了解一下HDL的模块和数据流方式。1、模块模块是Verilog的基本描述单位,用于描述某个设计的功能或结构与其他模块通信的·外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述;设计数据流行行为使用连续赋值语句进行描述;时序行为使用过程结构描述。一个模块可以在另一个模块中使用。一个模块基本语法如下:module module_name(port_list); Declarations: reg,wire,parameter, in

2021-06-02 11:07:18 678

原创 什么是Verilog HDL?

Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显示地进行时序建模。 Verilog HDL语言具有设计的行为特性、设计的数据特性、设计的结构组成以及包含响应监控和设计方面的时延和波形产生机制。Verilog HDL语言还提供编程语言接口,通过接口模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。 **Veri...

2021-06-01 15:48:39 3396 2

原创 VHDL的顺序语句

上次我们了解了VHDL语言的并行语句,现在我们来学习VHDL的顺序语句。顺序语句与并行语句共同构成了VHDL的描述语言,是VHDL作为硬件描述语句的一个特点。顺序语句只在仿真时间上是相对并行语句而言的,实际硬件的运行不一定是顺序执行的。VHDL语言支持的并行语句主要有以下几种:赋值语句wait语句after语句if语句case语句null语句loop语句exit语句next语句assertion/report语句return语句顺序语句在VHDL程序中的位置顺序语句只出现在

2021-05-30 17:46:07 11060

原创 VHDL的并行语句

并行语句是硬件描述语言的一大特点,与像c语言不同的是,并行语句的执行是并行的,不会因为书写顺序的前后而产生执行时的先后。VHDL语言支持的并行语句主要有以下7种:端口映射语句信号赋值语句when条件选择语句generate语句进程语句过程调用语句块语句并行语句在VHDL程序中的位置并行语句可以是结构体的begin与end之间的任何位置,举例如下:architecture <arch_name> of <entity_name> is -- Declarat

2021-05-29 20:53:13 9505

原创 VHDL的操作符

一、赋值操作符作用在于更新被赋值数据对象的值,数据对象主要是指信号和变量。VHDL赋值操作符也有信号赋值与变量赋值的区别,分别是:”<="是信号赋值操作符,可以对标量型的信号类型对象或是矢量型信号类型对象整体赋值。”<=“是变量赋值操作符,可以对变量、常量、属性(generic)和信号初始值的赋值或子程序对变量进行赋值。”>=“是矢量型的数据对象的部分进行赋值。以上赋值举例如下:**--属性赋值操作**generic(data_bus:integer:=8);**--

2021-05-28 11:44:00 10975 2

原创 VHDL的数据类型

一、标量1、整型整型类型定义了一种在特定整数范围内取值的类型,包括正整数、负整数和零。VHDL标准库提供了一个预定义整型数据类型-integer。integer取值范围是-214748647~214748647,也就是32位的二进制数。在实际设计中,综合工具会将没有越苏的整型看成32位无符号数处理,仿真中可使用符号数。整型数字的表示:十进制数:10000120-1212_102_125--------下划线不影响值得大小,只增加数值的可能性。其他进制的数:16#D12-------相当于

2021-05-27 16:11:56 12426

原创 VHDL的数据对象

一、标识符合法字符集有两大类:基本字符集和扩展字符集基本字符集是基本标识符使用的字符集,包括以下4小类:1、26个大小写英文字母2、10个阿拉伯数字:0,1,2,3,4,5,6,7,8,9;3、下划线:_扩展字符集是扩展标识符使用的字符集,除基本字符集外,还包括图形符号与空格,如!、、$、%等。标识符标识符可以是常数、变量、信号、端口、子程序、过程等名称。合法基本标识符设计规则如下:1、必须由基本字符集组成2、必须由基本字符集第一小类(26个大小英文字母)字符开头3、基本字符集第三

2021-05-25 15:04:27 2251 3

原创 VHDL程序的基本结构

一、VHDL语言基本结构如下:***- 库的引用实体声明结构体的声明结构体的定义配置;***以上实体声明和结构体是必须的,如果只使用标准库中的数据类型,则可不需要库的引用;如果只一个结构体,则配置不是必须的。二、VHDL程序的注释VHDL程序的注释由连续两个“–”开头到本行结束三、库的引用(VHDL库)库一般是一些常用VHDL代码的集合,包括:数据类型的定义、函数定义、子程序定义、元件引用声明、常量定义等一些可复用或是共享的VHDL代码。程序引用了库就可以使用该库中的VHDL代码。

2021-05-20 15:36:48 4297

原创 QuartsII-基于VHDL的设计以及基于VHDL和原理图的混合设计

一、基于VHDL的设计之前介绍的都是基于原理图的设计,且调用的都是软件自带的模块;虽然它已经集成很多模块,但还是不能满足所有设计要求,这时就需要自己编写VHDL代码进行设计。选择File->New菜单项,在弹出的New对话框中选择VHDL File选项,单击OK退出对话框。在VHDL编辑窗口中,输入以下代码:library ieee;use ieee.std_logic_1164.all;entity test11 is port(x:in std_logic; y:out

2021-05-19 18:03:47 2448 4

原创 QuartusII-引脚分配与下载

如果设计的FPGA要在实际硬件电路中实现某一功能,FPGA与其他硬件电路的相连接就是通过引脚来实现的。引脚分配就是把FPGA设计中的输入输出分配到适当的引脚中。选择Assignments->pins或是打开Pin Planer窗口,在设计对应的Location栏双击再输入相应的引脚数。同样方法给输出信号y分配一个引脚,如下图所示:分配完成后,保存项目工程文件,选择Processing->Start Compilation或者进行全编译,完成引脚分配并生成下载文件。准备好FPGA开发板,连接好

2021-05-19 16:53:29 5233

原创 QuartusII-项目工程的时序仿真

从上一个test项目中,给x一个随机信号,如下图:产生的波形如下:之前所做的只是功能仿真,就是验证我们的设计在逻辑上有无问题,而没有考虑时序、资源等问题,而实际上工作中的FPGA设计是一定要考虑这些问题的。在时序仿真之前需要对设计进行布局布线、适配及时序分析等操作。选择Processing->Start Compilation或进行全编译。由于之前是功能仿真,现在时序仿真需要对仿真设置进行修改。选择Assignments->Settings或者单击进行项目工程的设置。把Simulatio

2021-05-19 16:30:39 3855

原创 QuartusII-项目工程的功能仿真

编译无误后,需要对项目工程进行功能仿真以验证逻辑设计是否有误。选择File->New菜单项,在弹出的New对话框中选择Vector Waveform File选项,单击OK则退出New对话框,如下图所示:返回到波形文件编辑窗口,在Name栏空白处右击或双击。如下图:在弹出的快捷菜单中选择Insert->In->sert Node or Bus选项进行仿真节点或总线的选择,如下图所示:然后在上图中点击Nodes Finder按钮,进入节点查找对话,如下图所示:单击list按

2021-05-19 15:38:49 2108

原创 QuartusII9.0--设计文件的新建

QuartusII9.0软件下载以及破解链接如下:链接:https://pan.baidu.com/s/1e23Wqk5FLG6-fkD1LFm-Pw 提取码:qum3QuartusII支持的设计文件包括:VHDL文件、Verilog HDL文件、AHDL文件、Block Diagram/Schematric文件、EDIF文件、State machine文件、SystemVerilog HDL文件和Tcl SCIpt文件等文件格式。第一步:选择File->New菜单项,在弹出New对话框中选择B

2021-05-18 16:18:48 2887 1

原创 QuartusII9.0--项目文件的新建

一个FPGA项目可理解为一片FPGA芯片对应一个上层数据集合。包括设计文件、下载文件、配置文件、工程设置说明文件等。下面开始项目工程的新建,打开QuartusII软件。

2021-05-18 15:39:52 2593

原创 AD封装画法

例子如下:

2021-05-16 10:04:13 2329

原创 二极管1N4148

型号1N4148的二极管称为开关二极管,因为它正向导通和反向阻断之间的反应速度比其他二极管快,是数字电路常用的一种。1N4148小玻璃管上有黑色环一侧的引脚是二极管的负极,另一侧是正极。如下图所示:当二极管正向串联到电路时,LED灯亮,反向串联时,LED不亮。因为二极管单向导电性,又称为半导体。跟LED又有什么区别呢,LED发光会消耗电能,对需要发光的场合是一种浪费。同时不会发光的二极管有耐高压、大电流的特性,在某些参数上LED所达不到。介绍一下多个二极管的应用,利用四个二极管组成的整流桥电路,

2021-05-15 19:22:13 17039 1

原创 LED

1、LED称为发光二极管,特性之一是单向导电性。LED外形也不同,有高有短。帽高的LED可把LED光线聚焦在正前方,形成圆形光柱,如手电筒的光柱,这种LED称为“聚光”LED,由于常用,也叫普通LED。帽短LED发出的光是散开的,如自家灯泡LED叫”草帽“LED,可能是因为外壳酷似草帽而得名吧。2、LED是分正负极的,极性接反不会发光,因为二极管是单向导电性。如下图:3、LED还有一个重要特性,就是”驱动电压“和驱动电流”。LED只要达到大于驱动电压的电压值就能点亮,电压再高也不会损坏,因为LED是

2021-05-15 15:08:58 215

原创 电容

电容简介电容是一种物体的电学属性,是两个相邻但不接触的导体上产生的。不接触导体中间可以是水、空气、纸等任何绝缘体,称其为介质。电容可以储存电荷,电容的单位是法拉(F)。常见电容有独石电容、电解电容、瓷片电容、涤纶电容、法拉电容、固态电容、钽电容等。电解电容便宜,但体积大不适于精密仪器。独石电容和瓷片电容小,成本低,但电容量少。胆电容体积小、容量大,耐高压,但价格较贵。因此,我们要了解电容特性,才能在特定场合选择合适的电容。存储电能电容最重要的功能就是存储电能,当电容器与其他器件线路分离后,电容器就会存

2021-05-15 11:35:00 658

原创 单片机入门

单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。-百度百科1、HARVARD(哈佛)架构:ROM(程序

2020-10-13 21:12:44 184

转载 STM32学习之路-使用寄存器点亮LED

头文件//片上外设基地址#define PERIPH_BASE ((unsigned int)0x40000000)//APB2 总线基地址#define APB1PERIPH_BASE PERIPH_ASE#define APB2PERIPH_BASE (PERIPH_BASE+0x10000)//AHB总线基地址#define AHBPERIPH_BASE (PERIPH_BASE+0x20000)//GPIOB外设基地址#define.

2020-10-10 21:50:54 304

翻译 STM32学习之路(1)

Stm32最小系统构成:单片机STM32F103C8T6(+3.3V)、电源、复位、晶振、LED、按键、降压电路、去耦电路Stm32最小系统降压电路原理:

2020-10-07 11:46:34 439

原创 AD18如何覆铜

底层覆铜:1、Bottom Layer ->Polygon Pour.....选中覆铜区域->选中Net【GND】->Layer选择Bottom Layer2、右键选择Polygon Actions->Repour Selected即可顶层覆铜:1、Top Layer ->Polygon Pour.....选中覆铜区域->选中Net【GND】->Layer选择Top Layer2、右键选择Polygon Actions->Repour Se

2020-09-29 22:18:36 6755

原创 单片机引脚

单片机引脚可分为电源、时钟、控制和I/O口引脚1.电源:VCC(+5V)和VSS(接地端)2.时钟:XTAL1(晶振振荡电路反相输入端)、XTAL2(输出端)3.控制线:有4根ALE/PROG:地址锁存允许以及片内EPROM编程脉冲ALE可用来锁存P0口送出的低八位地址PROG由于片内有EPROM芯片,此引脚可输入编程脉冲PSEN:外部ROM读选通信号SRT/VPD:复位/备用电源RST:复位信号输入端口VPD:在VCC掉电情况下,接备用电源EA/VPP:内外ROM选择/片内EPROM

2020-08-10 17:09:42 2281

原创 递归算法思想

递归算法就是在程序中不断反复调用自身来达到求解的方法。这里的重点就是调用自身,这就是要求待求解的问题能够分解为相同问题的一个子问题。这样通过多次递归调用,便可以完成求解。函数的递归调用分两种情况:直接递归和间接递归。直接递归,即在函数中调用函数本身。间接递归,即间接调用一个函数,如fun()1调用fun()2,fun()3又调用fun()4。递归的优点:程序代码更简洁清晰,可读性更...

2020-04-23 22:08:00 593

原创 五点线性拟合去差值、五点线性平滑算法原理

1、五点线性拟合去差值原理是利用五点数据拟合出一条曲线来计算每一未知点的函数值。选择周围五个点,去掉最大值和最小值求剩余三个点的平均,使其相邻点变得平滑。2、五点线性平滑算法原理是利用最小二乘法拟合一条直线来计算未知点的函数值,属于一种均值滤波。...

2020-04-23 20:49:10 6575 2

原创 QT图形用户界面开发优势

GUI 界面是面对用户的界面,GUI 系统要做好高度集成的模块,低错误率。 嵌入式 Linux 的硬件资源有限,无法像 pc 平台上开发出来的软件的硬件开销。所以开发的时候不仅仅要考虑到系统的 cpu、内存资源,还要考虑操作系统的底层架构,减少数据流的传输线路,统一硬件驱动接口,减少底层平台的差异,增加软件的可移植性。还必须提高代码的可读性和算法的优化。这样才能做出轻量级别的 GUI。 Qt ...

2020-03-13 16:58:09 6391

原创 分治算法思想

分治算法的基本思想是将一个计算复杂的问题分为规模较小,计算简单的小问题求解,然后综合各个小问题,而得到最终问题的答案。分治算法的执行过程如下:(1)对于一个规模为N的问题,若该问题可以容易地解决(比如说规模N较小),则直接解决,否则执行下面地步骤。(2)将该分解为M个规模较小地子问题,这些问题相互独立,并且与原问题形式相同。(3)递归地解这些子问题(4)然后,将各个子问题地解合并得...

2019-11-17 21:50:19 540

原创 插入排序法

插入排序算法通过比较和插入来实现排序,其排序流程如下: (1)首先对数组的前两个数据进行从小到大的排序 (2)接着将第3个数据与排好序的两个数据比较,将第3个数据插入到合适的位置。 (3)然后,将第4个数据插入到已排好序的前3个数据中。 (4)不断重复上述过程,直到把最后一个数据插入到合适的位置。最后,便完成了对原始数组的从小到大的排序。#include <iostream...

2019-11-17 16:52:01 254

原创 Qt学习基础之无边框窗口拖拽和阴影

首先在UI设计师界面,拖一个Widget控件出来,选择垂直布局。接下来是代码:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QMouseEvent>#include <QPoint>namespace Ui {class Widget;}class Wi...

2019-11-07 16:11:36 249

原创 Qt学习基础之QFileInfo文件信息读取

//QFileInfo 文件信息类 QFileInfo info(path); qDebug() << "大小" << info.size() <<"后缀名:"<<info.suffix() << "文件路径:" <<info.filePath(); qDebug() << "...

2019-11-05 16:43:53 372

原创 Qt学习基础之文件读写操作

QFile对文件进行读写操作QFile进行读写操作QFile file(path 文件路径)读:file.open(打开方式) QIODevice::readOnly全部读取 file.readAll()按行读取 file.readLine();atEnd()判断是否读到文件尾部默认支持编码格式 utf-8利用编码格式类 指定格式QTextCodecQTex...

2019-11-05 15:58:10 239

原创 Qt学习基础之绘图事件#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QPaintEvent> namespace Ui

一、QPainter绘图绘图事件 void paintEvent() 声明一个画家对象 QPainter painter(this) this 指定绘图设备 画线、画圆、画矩形、画文字 设置画笔 QPen 设置画笔宽度、风格 设置画刷 QBrush 设置画刷 风格//实例化画家对象 this指定的是绘图设备 QPainter painter(this); //...

2019-11-01 22:54:24 1202

原创 Qt学习基础1.9

一、定时器11、利用事件//重写定时器的事件void timerEvent(QTimerEvent *e);2、启动定时器startTimer(1000);//毫秒单位3、timerEvent 的返回值是定时器的唯一标识 可以和e->timerId做比较二、定时器21、利用定时器类 QTimer2、创建定时器对象QTimer *timer = ...

2019-10-31 22:58:04 130

原创 Qt学习基础之鼠标事件

鼠标进入事件: void enterEvent(QEvent *); 鼠标离开事件: void leaveEvent(QEvent *); 鼠标按下事件: void mouseMoveEvent(QMouseEvent *ev); 鼠标释放事件: virtual void mouseReleaseEvent(QMouseEvent *ev); 鼠标移动事件...

2019-10-31 17:12:32 333

原创 Qt学习基础1.8

一、添加资源文件1、将图片文件 拷贝到项目位置下2、右键项目->添加新文件->Qt->Qt resourse File->给资源文件起名3、res生成 res.qrc4、open in editor 编辑资源5、添加前缀 添加文件6、使用 : " : + 前缀名 + 文件名二、模态对话框与非模态对话框1、模态对话框:不可以对其他窗口进行操...

2019-10-28 22:38:15 195

原创 Qt学习基础之QMainWindow

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(bool bars)、多个锚接部件(浮动窗口)(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等。一、菜单栏创建:#include <QMenuBar>#i...

2019-10-28 18:24:32 198

原创 Qt学习基础之QPushButton

1、包含头文件:#include<QPushButton>2、创建一个按钮:QPushButton *btn= new QPushButton("确定",this);3、移动按钮:btn->move(100,100);4、制定按钮大小:btn->resize(50,50);5、设置窗口大小:btn->resize(600,400);6、设置固定窗口...

2019-10-28 10:44:37 207

空空如也

空空如也

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

TA关注的人

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