自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常见的问题

1.sdram 读写仲裁2.ov5640 模块输出的数据位宽3.同步逻辑异步逻辑,同步复位异步复位同步逻辑:所有的触发器的时钟都连在一起,并且都接在系统时钟上只有当时钟脉冲到来时,电路的状态才会发生改变改变后的状态将一直保持到下一个时钟脉冲的到来,无论外部输入是否变化,状态表中的状态都将是稳定的异步逻辑:电路中没有统一的时钟电路中除了带有时钟驱动的寄存器外,还有不带时钟驱动的寄存器同步复位:复位信号只有在时钟上升沿到来时,才能有效异步复位:无论时钟沿是否到来,只要复位信号有效,就对

2022-04-25 15:28:10 124

原创 基于卷积神经网络的猫狗识别

基于卷积神经网络的猫狗识别过拟合与数据增强过拟合就是太过贴近于训练数据的特征了,在训练集上表现非常优秀,近乎完美的预测/区分了所有的数据,但是在新的测试集上却表现平平,不具泛化性,拿到新样本后没有办法去准确的判断。数据增强在不实质性的增加数据的情况下,从原始数据加工出更多的表示,提高原数据的数量及质量,以接近于更多数据量产生的价值。其原理是,通过对原始数据融入先验知识,加工出更多数据的表示,有助于模型判别数据中统计噪声,加强本体特征的学习,减少模型过拟合,提升泛化能力。基于卷积神经网络的猫狗

2021-06-18 14:10:03 615

原创 VGA协议与图像输出Verilog编程

一、实验要求练习基于VGA的图像显示,了解VGA协议。二、实验步骤本次实验采用现有工程进行验证(EP4CE115F29C7)1.使用 Quartus II 打开工程,进入 vga_colorbar.v 文件内进行代码修改将原有代码替换为以下代码:module vga_colorbar(OSC_50, //原CLK2_50时钟信号VGA_CLK, //VGA自时钟VGA_HS, //行同步信号VGA_VS, //场同步信号VGA_BLANK, //复合空

2021-05-31 20:56:31 218

原创 HLS编程环境入门

一、HLS是什么?与VHDL/Verilog有什么关系?HTTP Live Streaming(缩写是HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3

2021-05-28 21:09:37 161

原创 信息熵与压缩编码基础

一、什么是信息熵信息是个很抽象的概念。人们常常说信息很多,或者信息较少,但却很难说清楚信息到底有多少。比如一本五十万字的中文书到底有多少信息量。1948年,香农提出了“信息熵”的概念,才解决了对信息的量化度量问题。信息熵这个词是C.E.Shannon(香农)从热力学中借用过来的。热力学中的热熵是表示分子状态混乱程度的物理量。香农用信息熵的概念来描述信源的不确定度。信息熵定义公式:H(x) = E[I(xi)] = E[ log(2,1/P(xi)) ] = -∑P(xi)log(2,P(xi)) (

2021-05-27 19:54:32 78

原创 Verilog编程巩固

一、在线Verilog编程网站学习在线编程官网Wire1.门电路1.与门1.选择与门2.编写代码module top_module( input a, input b, output out ); assign out=a&b;endmodule3.运行结果点击submit(提交),完成任务2.或非门1.选择或非门2.编写代码module top_module( input a, input b,

2021-04-26 23:58:32 110

原创 FPGA的NIOS-||开发入门

流水灯显示硬件设计1.建立新项目(步骤与上次实验一样)2.进行 Qsys 系统设计1.点击 Tools 下拉菜单下的 Platform Designer 工具2.启动 Platform Designer 后,点击 File-save,在文件名中填写为 kernel后点击 OK.3.鼠标放在 clk_0 处点击右键 Edit 或是双击 clk_0 元件,对 Clock 进行时钟设置,设为 50M4.添加 CPU 和外围器件。从 PD 的元件池中选择以下元件加入到当前设计的系统中:Nio

2021-04-24 19:40:17 512 1

原创 FPGA设计入门

基于Quartus-II软件完成一个1位全加器的设计1.原理图输入1.新建工程点击两次“next”后,如下图。选择目标芯片:cycloneIVE系列的EP4CE11529C7,如图:直接next,之后到达完成界面,这里会看见关于整个工程的一些信息,核对一下是否正确,然后点击“finish”。此时界面上会出现顶层文件名和项目名:2…新建原理图文件原理图编辑输入流程如下:1.新建原理图文件。打开QuartusII,选菜单“File”一“New”,在弹出的“New-”对话框中选择“Des

2021-04-07 15:24:40 1060

原创 机器学习数学基础之Python矩阵运算

一、Python 矩阵基本运算1. Python 矩阵操作引入 numpyimport numpy as np创建一个 2 × 3 矩阵a=np.mat([[1,2,3],[4,5,6]])a运行结果如下获取矩阵大小a.shape运行结果如下转置矩阵a.T运行结果如下进行行列转换a.transpose运行结果如下使用二维数组代替矩阵b=np.array([[1,2,1],[4,5,6]])运行结果如下矩阵、数组加减法写法与普通加减法一样,但是列

2021-04-05 22:21:24 483 1

原创 线性/非线性规划问题求解

一、用Excel完成线性规划问题的求解1.建立数据源2.写出资源配置三要素3.在excel中设置目标函数根据前面的分析可知,目标函数为E2,E6与F2, F6区域两列数组对应元素的乘积之和,在C10单元格中输入=SUMPRODUCT (E2:E6,F2:F6)4.在excel中设置约束条件5.加载excel规划求解模块选择“文件”→“选项”→“加载项"→“转到”,勾选“规划求解加载项”。单击“确定"按钮。在“数据”菜单下就出现了“规划求解”模块6.设置决策变量和目标函数7.设

2021-04-01 21:33:53 453

原创 数字电路基础和Quartus-II入门

一、Quartus II的安装下载链接https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA.提取码:ifte将下载好的压缩文件解压到文件夹下运行可执行程序进入welcom界面勾选“I accept the agreement”,然后点击Next选择相应安装的位置,然后点击Next选择安装的内容,然后点击Next点击Next安装过程点击Finish选择OK...

2021-03-31 17:15:27 178

原创 线性分类的Jupyter实践

一、鸢尾花数据集分类鸢尾花数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3类(setosa、versicolour、virginica),每类50个数据,每个数据包含4个属性,花萼长度、宽度和花瓣长度、宽度1.选择分类from sklearn import datasetsimport matplotlib.pyplot as pltimport numpy as npimport math#prepare the datairis = datasets.load

2021-03-24 22:31:54 376

原创 数据分析--线性回归作业再练习

Excel 完成简单数据回归分析一、线性回归分析父子身高线性回归分析1.填入父子身高信息2.点击数据分析,选择回归,点击确定3.选择X,Y范围4.勾选需要的功能,点击确定,线性回归分析完成母子身高线性回归分析具体步骤如上得到结果如下多元线性回归分析以父母身高做x,儿子身高做y步骤如上,得到结果如下二、线性回归方程父子身高线性回归方程1.选择所有数据,插入散点图2.选择快速布局,得到线性方程3.线性方程成立,当父亲身高75英尺时,儿子身高为71.32英尺母子

2021-03-24 18:16:16 230

原创 ROS通信编程和仿真工具

一、学习任务学习古月居ROS教学课件和相关视频,练习课件上的话题通信、服务通信编程代码示例;安装Rviz,用它显示电脑摄像头的视频。按照课件上 gazebo 仿真内容,完成 gazebo 环境设置(包括家具和障碍物)、机器人传 感器(camera、kinect、Lidar)安装,用键盘控制机器人的行走,并在 Rviz 中查看各传感器 的采集信息。用gazebo 仿真器搭建自己的一个三维虚拟环境,可以是一个室内环境(家庭环境、教室、 会议厅等),也可以是一个户外环境(比如运动场、街道、公园等)。环境设置

2021-03-20 17:07:43 106

原创 数据的回归与分类分析

Excel 完成简单数据回归分析一、线性回归分析父子身高线性回归分析1.填入父子身高信息2.点击数据分析,选择回归,点击确定3.选择X,Y范围4.勾选需要的功能,点击确定,线性回归分析完成母子身高线性回归分析具体步骤如上得到结果如下多元线性回归分析以父母身高做x,儿子身高做y步骤如上,得到结果如下二、线性回归方程父子身高线性回归方程1.选择所有数据,插入散点图2.选择快速布局,得到线性方程3.线性方程成立,当父亲身高75英尺时,儿子身高为71.32英尺母子

2021-03-20 09:58:49 295

原创 机器人操作系统入门

一、ROS简介1.什么是ROSROS是Robot(机器人)+ Operating(操作)+ System(系统)的简称,即为机器人操作系统。ROS主要组件包括ROS Master、ROS Node和ROS Service三种。ROS是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。2.ROS产生、发展和壮大的原因和意义随着技术的发展及人们需求的提高,机器人集成了越来越多的功能、传感器,对用户来说这越来越方便,但对开发者来说恰恰相反,功能的增加带来开发与

2021-03-04 15:33:35 452

原创 基于 JSP 的数据查询 Web 系统

一、实验内容基于 JSP + MySQL 做一个简单的学生课程管理 Web 系统二、实验环境系统:Windows 10软件:IntelliJ IDEA 2020.3Tomcat 9Navicat Premium 12MySQL三、程序代码本次实验采用现成的代码参考网址四、Tomcat在官网下载Tomcat 9 版本安装,可参考博客 链接五、IntelliJ IDEA 配置运行程序1. 导入工程找到工程目录导入即可2. Web 工程配置文件 ▶ 项目结构 打开以下界

2021-01-09 00:12:33 112

原创 STM32的PWM和DAC练习

一、采用定时器的方法输出 PWM 波形1.PWM简述PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码.PWM能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术PWM的一个优点是从处理器到被控系统信号都是数字形式的,在进行数模转换可将噪声影响降到最低.由于PWM可以同时实现变频变压反抑制谐波的特点。由此在交流传动及至其它能量变换系统中得到广泛应用。PWM控制技术大致可

2021-01-08 20:45:34 213

原创 HTTP和MQTT协议实践

一、安装Java开发环境和Java IDE编程工具 Eclipse 或 IDEA,基于HTTP协议读取互联网上web服务网站实现1.读取指定城市的天气预报信息代码如下:package Weather;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import j

2021-01-04 21:37:10 232

原创 STM汇编程序设计

一、请说明STM32的三种Boot模式的差异,并研究至少两种boot模式下,代码下载(烧录)运行后所在的地址位置,与理论对比验证。1.什么是 Boot 模式STM32 的 BOOT 管脚有什么用在 STM32 的板子上,可以看到有 BOOT0 、BOOT1 这两个管脚,刚买的板子,用短路帽将 BOOT0、BOOT1都接地的,也就是 BOOT0 和 BOOT1 的电平都置为 0,用短路帽将 BOOT 连到 3V3 即可置 1。BOOT 拥有三种启动模式,如下图所示:所以说,平时呢我们都是默认使用的

2020-12-30 23:06:53 451

原创 基于SPI/IIC接口的OLED数据显示

一、准备工作开发硬件:野火STM32 MINI开发板SPI0.96寸显示屏AHT20 温湿度传感器开发软件:Keil 5打开keil 5,载入厂家给出的 Demo 程序,链接:https://detail.tmall.com/item.htm?spm=a1z0d.6639537.1997196601.80.201d74841fbMPw&id=556732249552下载好后解压,在文件路径:X;\0.96inch_SPI_OLED_Module_SSD1306_MSP09

2020-12-27 22:34:13 158

原创 绘制stm32最小系统PCB图

绘制stm32的最小系统的电路原理图创建工程打开Altium Designer,点击file–new–project–integrated library更改工程名称并保存在该工程下新建sch library和pcb library创建完成后保存工程,并为创建的库重命名芯片PCB的封装回到pcb library界面,选择tools在接下来的界面点击next,下一界面选择如下对照该图填写封装数据之后一直点击next,直到finish,最后的效果为打开stm32最小系统

2020-12-25 18:29:16 233

原创 计算机网络实验

一、验证性实验ipconfig实作一使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。

2020-12-25 15:31:52 2093

原创 温湿度传感器采集

头疼,先睡一觉。。。

2020-12-14 20:12:11 780 1

原创 Socket编程实战

一、wireshark抓包分析TCP协议二、Teardrop代码编程1.新建文件#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <netdb.h>#include <netinet/in.h>#include <netinet/udp.h>#include <arpa/inet.h

2020-12-05 21:22:44 123

原创 STM32串口通讯

一、比较基于寄存器与基于固件库编程方式差异1.寄存器寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。2.固件库固件库就是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。固件库函数的作用就是:向下负责与寄存器直接打交道,向上提供用户函数调用的接口(API)。固件库将寄存器底层操作都封装起来,提供一套API供开发者使用。大多数情况下,不需要知道操作的是哪个寄存器,只需要知道调用哪些函数即可。...

2020-12-05 21:18:08 206

原创 FreeRTOS入门

基于FreeRTOS的多任务程序一、手动移植FreeRtos1、打开开发板赠送的资料,找到下列压缩包并解压2、移植准备①找到该文件②粘贴到此目录下3、移植①找到该文件夹②随便新建一个keil工程,在工程目录下新建一个文件夹命名为FreeRTOS③向新建文件夹添加源文件包括以下文件:FreeRTOS\Source\list.cFreeRTOS\Source\tasks.cFreeRTOS\Source\portable\IAR\ARM_CM3\port.cFr

2020-12-04 18:00:09 226

原创 TCP编程-端口扫描器与网游客户端

一、 编写端口扫描器程序

2020-11-19 22:45:15 110

原创 Linux系统(Ubuntu和树莓派)的远程操作练习

一、用puTTY、VNCViewer、Xming连接到Ubuntu和树莓派1.准备工作1.下载安装puTTY、VNCViewer、Xming2.将Ubuntu虚拟机的网络连接改为 “桥接模式” 并安装ssh3.用 ifconfig 查看一下ip地址4.检测一下是否能够ping通虚拟机能够ping通5.添加用户在Linux下使用下面的命令添加用户sudo adduser [用户名]我们用 root 用户把新建的用户名添加到 /etc/sudoers 文件里让它有权限执行 sudo

2020-11-11 22:59:27 209

原创 STM32嵌入式应用系统设计

一、在ubuntu中用vscode编译调试C\C++首先在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入ext install cpptools,然后按空格下载,安装第一个即可然后配置调试和编译文件,launch.json和task.json。点击调试选择C++c插件即可自动生成launch.json文件将launch.json文件中的program那栏修改为"${workspaceRoot}/a.out"按ctrl+p打开命令面板,然后输入>task后选择配置

2020-11-09 23:05:32 217

原创 C#编程和网络编程入门

一、用C#编写一个命令行/控制台hello world程序打开vs2019,新建一个C#控制台应用,写入下列代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp1{ class Program { static void Main(string[]

2020-10-31 22:32:07 84

原创 学习使用OpenCV图像软件

在windows下使用OpenCV1.windows10下安装OpenCV-3.4.8:官网下载Windows版2.配置系统环境变量:在path中添加以下路径“X:\安装目录\opencv\build\x64\vc15\bin”,3.在VS中新建一个Visual C++空项目,用来编写OpenCV程序在工程文件中新建一个 test.cpp 项并把Debug类型调为x64在 “属性管理器–>配置属性” 中修改 “包含目录” , “库目录” , “连接器/输入/添加依赖项”包含目录

2020-10-30 21:57:16 1318

原创 在Ubuntu系统上练习程序代码的GDB调试

在Ubuntu系统上练习程序代码的GDB调试一、GDB简介GDB : GNU Debugger,是GNU工程为GNU操作系统开发的调试器,但它的使用不局限于GNU操作系统, GDB可以运行在UNIX、Linux甚至Microsoft Windows。二、GDB的使用1、启动GDB2、GDB的命令• file 装入想要调试的可执行文件。• kill 终止正在调试的程序。• list 列出产生执行文件的源代码的一部分。• next 执行一行源代码但不进入函数内部。• step 执行一行源代

2020-10-30 14:51:08 90

原创 编译器背后的故事

一、用gcc生成.a静态库和.so动态库1.创建3个程序hello.h、hello.c和main.c作为本次实验例子先创建一个test1作业目录,保存文件mkdir test1cd test1然后用nano文本编辑器编辑生成所需要的3个文件hello.h#ifndef HELLO_H#define HELLO_Hvoid hello(const char *name);#endifhello.c#include<stdio.h>void hello(const ch

2020-10-16 16:18:06 83

原创 MFC窗口程序基础

MFC窗口程序基础开发环境Visual Studio 2019一、编写一个简单的helloworld程序步骤安装好Visual Studio之后,打开并按照以下步骤新建一个项目选择MFC应用,点击下一步给你的项目取一个名字,点击创建选择“基于对话框”,点击完成这样就创建好了一个新的项目,然后在资源文件中点击helloworld.rc打开IDD_HELLOWORLD_DIALOG鼠标点击右键,选择属性在Caption中输入你想输出的东西编译成功运行就可以得到入下图的结

2020-10-14 21:56:21 97

原创 使用MDK编译stm32简单程序(LED闪烁)

使用MDK编译stm32简单程序(LED闪烁)一、环境配置下载安装mdk5软件和stm32包安装教程参考链接: link.二、MDK5的简单设置下载完MDK5后,需要进行一个简单的配置1.点击Edit→Configuration…,或者直接点工具栏的扳手图标,进入设置界面。2.设置编码形式为Chinese GB2312(Simplified),如果不设置,你从其它地方粘贴过来的代码含有中文的话,就会出现乱码,然后设置Tab size为4。3.进入Color & Fonts,选中C

2020-10-08 20:34:26 735 1

原创 Ubuntu下的C语言练习

在Ubuntu环境下进行C语言的编译和Makefile方式的练习编写一个主程序文件 main1.c 和一个子程序文件 sub1.c,子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。1.在ubuntu系统用gcc 命令行方式编译主程序main1.c 并运行;2.在windows系统下用你熟悉的编译工具编

2020-09-25 22:02:04 547

原创 windows API 程序入门

windows API 程序入门windows API简介Windows API 就是windows应用程序接口,是针对microsoft windows操作系统的编程接口,Windows API包括几千个可调用的函数,这些函数的准确拼法与调用语法可以在MSDN上查找。目的1.了解 windows操作系统应用程序开发的基本概念,win32 API函数、消息与事件驱动。2.掌握WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数。步骤1.设计一个窗口类2.创建窗口3.显示

2020-09-24 22:41:06 1367

空空如也

空空如也

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

TA关注的人

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