自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SoC 第一个程序——helloworld

SoCFPGA开发

2023-03-06 18:48:35 155 1

原创 FPGA—VGA显示

VGA显示

2022-07-04 18:29:41 1409

原创 FPGA—测试六个状态的状态机实验

一、状态机实现1.1 创建工程创建工程文件,开始状态机实验。1.2 项目需求1、根据以下描述功能用verilog编写一段代码,并用状态机来实现该功能。(1)状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程;(2)描述状态跳转时间;(3)编码实现2、画出可以检测10010串的状态图, 并用verilog编程实现之。1.3 代码编写本次实验包括三个部分,一个计数器模块,一个状态

2022-05-11 16:54:47 243

原创 Quartus-II之D触发器

Quartus-II之D触发器一、原理图(一)创建项目(二)绘制D触发器原理图(三)查看仿真波形1. 配置仿真工具2.加载仿真库文件3.添加仿真文件4.仿真二、调用库(一)绘制原理图(二)查看仿真波形一、原理图(一)创建项目设置项目路径以及项目名称、顶层名选择器件型号最终信息(二)绘制D触发器原理图点击file -> new -> Block Diagram 新建框图D触发器由一个非门、两个输出、两个输入、四个与非门共同构成绘制完成再编译,编译成功后点击Tools ->

2022-03-15 23:01:03 440

原创 基于FTP实现简单文件上传与下载

目录标题一、FTP简介常用命令二、上传与下载三、文件拼接四、总结五、参考一、FTP简介HTTP是Hyper Text Transfer Protocol,超文本传输协议;面向网页的。FTP是File Transfer Protocol,文件传输协议;面向文件的。(soap的默认端口号8880,ftp的代理服务器的默认端口号是21)FTP也是基于C/S模式而设计的。在进行FTP操作的时候,即需要客户应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户应用程序,在远程服务器中执行FT

2021-12-30 21:10:00 554

原创 基于SMTP实现简单收发邮件

目录标题一、SMTP二、实现命令效果三、总结四、参考一、SMTPSMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持,SMTP的重要特性之一是其能跨越网络传输邮件,即“SMTP邮件中继”。使用SMTP,可实现相同网络处理进程之间的邮件传输,也可通过中继器或网关实现某处理进程与其他网络之间的邮件传输。二、实现命令1.连接服务器tel

2021-12-30 21:00:24 1209

原创 STM32F103基于W5500实现Modbus简单TCP通信

目录标题一、Modbus/TCP协议1.查询报文2.响应报文二、从机代码1.初始化从机网络2.简单响应函数3.main函数循环等待连接三、效果四、总结五、参考一、Modbus/TCP协议功能码作用01读取线圈状态02读取输入状态03读取保持寄存器04读取输入寄存器05强置单线圈06预置单寄存器07读取异常状态08回送诊断校验09编程(只用于484)0A控询0B读取事件计数0C读取通信事件记录

2021-12-28 22:10:04 378

原创 OpenCV+Python实现将车牌数字分割为单个的字符图片

目录一、实现代码1.图片预处理读取图片处理车牌上的螺丝转灰度闭运算找字符边界绘制边界预处理效果2.切割字符预处理图转灰度计算每一列的黑色和白色数量以及最大值定义找右边界函数切割字符以及保存切割结果到文件切割结果3.源代码二、原数据三、最终结果四、总结五、参考一、实现代码1.图片预处理读取图片# 车牌路径file_path="./car/"# 读取所有车牌cars = os.listdir(file_path)cars.sort()src = cv2.imread(file_path+ca

2021-12-24 22:21:37 944

原创 Python+Selenium动态网页的信息爬取

Python+Selenium动态网页的信息爬取一、Selenium(一)Selenium简介二、自动填充百度网页的查询关键字并完成自动搜索三、爬取一个动态网页的数据(一)网站链接(二)分析网页(三)代码实现四、爬取京东网站上的感兴趣书籍信息(一)爬取网站(二)网页分析(三)代码实现四、总结五、参考资料一、Selenium(一)Selenium简介Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium

2021-12-17 22:32:19 1622

原创 Springboot+netty网络聊天

Springboot+netty网络聊天一、新建SringWeb项目二、环境配置三、代码实现(一)项目结构(二)代码(三)测试文件四、运行结果五、总结六、参考资料一、新建SringWeb项目1.选择File->New-> Project2.Spring Initializr->Next3.Java Version 对于JDK选择8,点击next4.选择新建Sring Web项目5.创建成功如下二、环境配置1.在pom.xml里面添加依赖 <dependency&

2021-12-17 21:24:57 178

原创 基于IO/NIO/Netty的Client/Server的java程序实现

一、IO实现(一)IO介绍1.传送IO特点(1)服务端阻塞点server.accept();获取套接字的时候inputStream.read(bytes);输入流读取数据的时候(2)传统socket是短连接,可以做短连接服务器,他无法做长连接,属于一问一答的模式,比如老的tomcat底层用的就是socket,用完就会关掉线程,因此不会出现线程一直被占用的情况,支持处理多个客户端连接单线程情况下只能有一个客户端(一个线程维护一个连接,也就是一个socket客户连接)线程一直被占用。用线程池可以

2021-12-17 21:04:09 153

原创 OpenCV+Python简单实践之硬币检测以及条形码检测

目录标题一、简单图片格式1.位图2.文件压缩比二、用奇异值分解(SVD)对一张图片进行特征值提取(降维)处理1.代码2.效果三、采用图像的开闭运算(腐蚀-膨胀),检测出2个样本图像中硬币、细胞的个数1.硬币检测代码读取图片转为灰度图片图片二值化腐蚀膨胀找到硬币中心标识硬币显示结果最终结果源码2.细胞检测四、 采用图像梯度、开闭、轮廓运算等,对图片中的条形码进行定位提取;再调用条码库获得条码字符读取图片转为灰度图片高斯滤波处理Sobel算子计算梯度差均值方波消除高频噪声二值化闭运算填充空隙开运算得到最终区域绘

2021-12-10 23:05:51 4296 2

原创 STM32F103基于RTC实现简单日历

目录标题一、 RTC1.定义:2.应用3.应用领域4.特点二、CubeMX创建项目1.配置RCC2.配置RTC3.配置串口4.配置时钟5.配置项目1.HAL库RTC相关操作函数2.读取RTC初始日期定义日期时间对象获取日期和时间并输出结果3.输出当前时间初始化日期和时间获取日期和时间并输出结果4.使用keil仿真查看串口5.使用SaleaeLogic16逻辑分析仪分析串口协议截取5秒的波形图GPIOC13LED波形串口波形四、总结五、参考一、 RTC1.定义:RTC的英文全称是Real-Time Cl

2021-12-08 22:51:25 3553 1

原创 STM32F103基于uCOS实现多任务

目录一、项目创建1.配置GPIO2.配置RTC3.配置USART14.配置RCC5.配置时钟6.配置项目二、usOS移植三、创建多任务1.定义相关变量以及任务函数2.定义相关任务函数3.创建任务4.最终效果四、总结五、参考一、项目创建1.配置GPIO2.配置RTC3.配置USART14.配置RCC5.配置时钟6.配置项目二、usOS移植参考文章STM32F103C8T6移植uC/OS-III基于HAL库超完整详细过程三、创建多任务1.定义相关变量以及任务函数//任务控制块

2021-12-08 22:33:25 218

原创 基于STM32的OLED显示屏显示数据

目录一、SPI简介1、SPI的定义2、SPI的工作过程二、使用OLED显示屏显示数据1、OLED显示屏2、下载程序3、字模提取4、修改代码5、编译运行6、烧录文件7、接线三、总结参考文献一、SPI简介1、SPI的定义SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是MISO(数据输入),MOSI(数据输出),SCLK(时钟),CS(

2021-11-27 23:31:56 1605

原创 TCP实现简单游戏客户端

目录一、界面二、代码1.播放音频3.登录和退出游戏4.命令交互5.信息展示6.最终代码三、效果四、总结五、参考六、源代码一、界面左上方播放音频按钮和停止播放下面是图片展示再下面是进入游戏以及退出游戏最后是命令输入框右边是消息框二、代码1.播放音频需要用到WindowsMediaPlayer组件 private void start_Click(object sender, EventArgs e) { //新建线程打开音频文件

2021-11-27 23:11:23 213

原创 基于TCP 实现扫描指定ip端口

文章目录一、单线程扫描1.代码2.界面3.结果4.抓包二、多线程扫描1.代码2.界面3.结果4.抓包三、总结四、源码五、参考一、单线程扫描1.代码using System;using System.Net;using System.Net.Sockets;using System.Windows.Forms;using System.Threading;namespace MultithreadingScanningPort{ public partial class Form1

2021-11-24 22:26:59 654

原创 简单的爬虫

简单的爬虫

2021-11-20 23:34:37 74

原创 基于python爬取重庆交通大学新闻网内容

基于python爬取重庆交通大学新闻网内容

2021-11-20 23:33:11 228

原创 基于wireshark练习抓包

基于wireshark练习抓包

2021-11-20 23:32:05 1995

原创 基于LibSVM训练编写决策函数

基于LibSVM训练编写决策函数 一、原理二、代码1.下载LIbSVm2.解压3.选择对应语言代码4.准备数据5.进行训练三、结果2.输出文件3.模型数据数据说明线性模型多项式模型高斯核模型4.决策函数四、总结五、参考一、原理参考基于Sklearn+matlab绘制SVM决策函数 二、代码1.下载LIbSVm2.解压3.选择对应语言代码使用Java,故把java文件下的文件都引入到项目当中4.准备数据打开libsvm文件下的windows文件里面的svm-toy程序5.进行训练

2021-11-19 21:54:02 513

原创 dlib+opencv+python人脸识别

dlib+opencv+python人脸识别一、原理二、代码实现1.提取人脸2.获取人脸的特征点3.人脸识别三、采集结果四、总结五、参考文献一、原理基于dlib库对人脸特征进行提取,在视频流中抓取人脸特征、并保存为64x64大小的图片文件。光线——曝光和黑暗图片因手动剔除摄像头的清晰度也比较重要——在哪台笔记本识别,就要在那台笔记本做数据集采集,我用了同学在其他笔记本采取的数据,因为电脑配置,在后面的训练中出现不能识别或错误识别的情况,因此,尽量同一设备——采取数据集和做人脸识别。二、代码实现1

2021-11-19 21:33:40 1224

原创 基于OpenCv和机内码实现在图片上追加文字

文章目录一、原理1.机内码2.区位码二、实现1.准备2.代码三、结果1.原图2.效果图四、总结五、参考一、原理1.机内码汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。如上所述,汉字区位码的区码和位码的取值均在 1~94 之间,如直接用区位码作为机内码,就会与基本 ASCII 码混淆。为了避免机内码与基本 ASCII 码的冲突,需要避开基本 ASCII 码中的控制码(00H~1FH),还需与基本 ASCII 码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上 20H,在

2021-11-12 22:46:15 2900

原创 通过串口发送图片

文章目录一、原理1 波特率基本概念2 传输字节数计算方法3 有校验位二、接线三、结果1.注意2.115200波特率3.1000000波特率四、总结五、参考一、原理1 波特率基本概念波特率即每秒发生硬件触发上升沿或下降沿的次数。用 9600 波特率来举例,就是最高每秒可以检测到 9600 个电平变化(上升沿/下降沿),也可以说最大每秒可以接收 9600 位数据,bit ,也就是二进制数(0/1),每个电平发生跳变的时钟周期为:1/9600 s.2 传输字节数计算方法用实际使用中,最常用的串口通讯协议

2021-11-12 22:42:21 335

原创 基于Sklearn+matlab绘制SVM决策函数

基于Sklearn+matlab绘制SVM决策函数

2021-11-12 22:13:11 852

原创 基于OpenCv+Python+Dlib实现简单人脸数据采集

文章目录一、原理二、代码1.标点2.画墨镜3.全部代码三、效果1.特征点2.墨镜四、总结五、参考一、原理1.调用dlib库来进行人脸识别,调用预测器 “shape_predictor_68_face_landmarks.dat”进行68点标定2.存入68个点坐标3.利用cv2.circle来画68个点4.利用cv2.putText()函数来画数字1-68二、代码1.标点detector = dlib.get_frontal_face_detector()predictor = dlib.s

2021-11-12 22:09:17 146

原创 STM32中断与DMA通信编程

文章目录一、stm32外部中断模式控制灯亮灭(一)通过STMCube配置项目1.引脚配置如图2.配置EXIT3.配置SYS4.配置GPIO5.代码创建出勾上这个6.创建项目(二)通过KEil配置代码1.打开生成的项目,找到stm32f1xx_it.c2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数3.往下找到HAL_GPIO_EXTI_Callback这个函数4.编译生成hex文件5.通过FlyMcu进行烧录(三)效果(四)

2021-11-08 22:48:37 280

原创 基于OpenCV3.4的图像编程

文章目录一、图片特效源代码编译运行二、播放视频源代码编译运行三、录制视频源代码编译运行四、总结五、参考一、图片特效源代码把一张图片边缘四周添加阴影并且展示出来。1.使用命令gedit test1.cpp把下面代码粘贴进行后保存,同时把需要用到的图片和代码放在同目录下。#include <opencv2/highgui.hpp>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;

2021-11-07 22:01:15 84

原创 静态库.a与.so库文件的生成与使用

文章目录一、准备工作创建文件编译文件二、静态库的生成和使用生成静态库使用静态库三、动态库的生成和使用生成动态库使用动态库四、总结五、参考一、准备工作创建文件需要用到main.c、x2x.h、x2x.c、x2y.h、x2y.c这几个文件。在Linux中使用nano+文件名的形式创建对应文件并同时进行代码的写入。main.c代码#include "x2x.h"#include "x2y.h"void main(){ int a=1,b=2; x2x(a,b);

2021-11-07 21:53:18 276

原创 SpringBoot简单入门

SpringBoot简单入门一、利用Spring boot在网页中输出Helloworld1.新建一个项目2.选择java83.选择web和Spring web4.给项目命名5.创建一个网页6.启动项目二、GET、PUT和POST请求处理(1)HTTP基础知识(2)项目代码1.项目的创建2.项目内容3.核心代码(3)测试1.测试get2.测试post3.测试put一、利用Spring boot在网页中输出Helloworld1.新建一个项目2.选择java83.选择web和Spring web

2021-11-07 21:40:13 57

原创 网络抓包与HTTP协议

网络抓包与HTTP协议一、HTTP1.HTTP协议2.HTTP原理二、TCP协议三、 利用Wireshark查看TCP四、通过fiddler查看http数据五、总结六、参考文献一、HTTP1.HTTP协议HTTP是一个客户端终端(用户)和服务器端(网站)请求和应答的标准(TCP)。通过使用网页浏览器、网络爬虫或者其它的工具,客户端发起一个HTTP请求到服务器上指定端口(默认端口为80)。我们称这个客户端为用户代理程序(user agent)。应答的服务器上存储着一些资源,比如HTML文件和图像。我们称

2021-11-06 21:11:48 122

原创 决策树挑出好西瓜:纯算法

决策树挑出好西瓜:纯算法一、理论知识二、代码实现1.引入数据和需要用到的包2.函数(1)计算熵(2) 拆分数据集(3) 选择最好的特征(4)寻找最多的,作为标签(5)生成树(6)初始化(7)画图3.结果三、参考文献一、理论知识纯度(purity)对于一个分支结点,如果该结点所包含的样本都属于同一类,那么它的纯度为1,而我们总是希望纯度越高越好,也就是尽可能多的样本属于同一类别。那么如何衡量“纯度”呢?由此引入“信息熵”的概念。信息熵(information entropy)假定当前样本集合

2021-11-06 18:04:47 338

原创 决策树挑出好西瓜:sk-learn实现

决策树挑出好西瓜:sk-learnsklearn实现ID3、CART算法一、引包二、读取数据三、数据编码四、ID3拟合(1)ID3算法(2)DecisionTreeClassifier参数说明(3)sklearn拟合代码五、CART拟合(1)CART算法(2)基尼指数六、参考文献一、引包import pandas as pdfrom sklearn.preprocessing import LabelEncoderfrom sklearn.tree import DecisionTreeClassi

2021-11-06 17:43:25 472

原创 线性判别准则与线性分类编程实践

线性判别准则与线性分类编程实践线性判别准则与线性分类编程实践一、基于Sklearn实现LDA算法(1)LDA算法(2)sklearn实现LDA(3)结果如图(4)总结(5)参考二、基于Sklearn实现SVM算法(1)SVM算法(2)算法实现(3)总结(4)参考一、基于Sklearn实现LDA算法(1)LDA算法1.线性判别分析(Linear Discriminant Analysis, LDA)方法常被用于数据预处理中的降维(dimensionality reduction)步骤。LDA在保证良好

2021-11-05 21:14:12 89

原创 多元线性回归算法预测房价

多元线性回归一、不处理数据直接求解import pandas as pdimport numpy as npimport mathimport matplotlib.pyplot as plt # 画图from sklearn import linear_model # 线性模型data = pd.read_csv('house_prices.csv') #读取数据data.head() #数据展示house_idneighborhoodareabedroomsbat

2021-11-02 22:08:38 114

原创 从JDBC到Mybatis

从JDBC到Mybatis一、MyBatis1.1 MyBatis 介绍1.2 创建项目1.3 配置项目并编写代码1.4 测试二、总结一、MyBatis1.1 MyBatis 介绍MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的

2021-10-22 21:50:10 97

原创 STM32F103寄存器方式点亮LED流水灯

STM32F103寄存器方式点亮LED流水灯一、地址映射和寄存器映射1.1 总线基地址1.2 外设基地址1.3 外设寄存器地址二、搭建电路2.1 接线2.2 用C语言寄存器实现流水灯2.3 汇编语言实现流水灯三、总结一、地址映射和寄存器映射1.1 总线基地址总线名称总线基地址相对外设基地址的偏移APB10x4000 00000x0APB20x4001 00000x0001 0000AHB0x4001 80000x0001 80001.2 外设基地址

2021-10-22 14:29:32 155

原创 Git入门&Web前端初窥

Git入门&Web前端初窥文章目录Git入门&Web前端初窥一、Git、GitHub相关(一)Git 基本概念和操作(二)在GitHub网站上创建自己的账号二、利用IDEA在本机建立git仓库,上传项目到GitHub(一)IDEA连接GitHub(二)同步项目到GitHub三、将自己的静态网页放入IDEA,同步项目到GitHub(一)添加网站到IDEA(二)同步到GitHub四、参考文献一、Git、GitHub相关(一)Git 基本概念和操作1.Git的基本概念Git是一个开源的分

2021-10-19 21:04:19 97

原创 Keil下STM32的C与汇编语言混合编程

下面展示一些 内联代码片。// A code blockvar foo = 'bar';// An highlighted blockvar foo = 'bar';Keil下STM32的C与汇编语言混合编程一、C语言调用汇编函数(一)KILE创建项目(二)编译(三)调试运行二、原汇编语言 Init_1函数的类型改为 int Init_1(init)(一)功能说明(二)代码修改(三)编译运行(四)调试运行三、汇编函数调用C语言函数(一)功能介绍(二)代码部分(三)调试

2021-10-15 22:46:24 537

原创 2021-10-14

JDBC 连接MySQL 数据库并查询数据一、Mysql安装二、JDBC 连接MySQL(一)Eclipse新建项目(二)导入Mysql的包三、建立数据库并查询数据(一)新建mysql数据库(二)JDBC 连接MySQL 数据库并查询数据四、总结一、Mysql安装一、首先安装mysql数据库,安装mysql5.7版本,如下:二、JDBC 连接MySQL(一)Eclipse新建项目1.打开Eclipse2.新建项目3.项目类型选择4.项目命名5.

2021-10-14 19:29:44 44

空空如也

空空如也

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

TA关注的人

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