自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式Linux(树莓派)环境设置和交叉编译

2022-06-19 20:49:27 445 1

原创 VGA协议及VGA显示

VGA协议及图像显示

2022-06-10 23:40:44 2017

原创 FPGA状态机

FPGA状态机一、状态机实现二、检测10010串三、总结一、状态机实现状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程描述状态跳转时间状态机状态s0:准备状态s1:启动状态s2:停止状态s3:查询测试结果s4:显示测试结果s5:测试结束返回初始态阶段性跳转s0 -> s1 第1s跳转到s1s1 -> s2 第25s跳转到s2s2 -

2022-06-08 18:57:50 469

原创 【FPGA】自动售货机综合实现

自动售货机综合实现一、项目需求1. 售货机模拟项目。二、要求三、售货机原理1. 基本原理2. 思路架构3. RTL物理模型实现四、项目分析解决五、总结参考一、项目需求1. 售货机模拟项目。pwm音频产生:PWM生成原理与控制输出模块按键消抖模块、有限状态机模块、LED模块、数码管模块、蜂鸣器模块功能实现售货机商品选择,存储商品1,2,单价设定为1.5元与1元,通过LED灯表示选择商品种类。商品选择后确定购买商品数量,并在数码管动态显示所选择商品的数量与商品总价。投币购买商品,数码

2022-05-08 08:35:44 2447 1

原创 PWM生成原理与控制输出

PWM生成原理与控制输出PWM生成原理与控制输出参考PWM生成原理与控制输出PWM生成原理PWM实现DA转换,通过产生数字信号模拟输出模拟信号基本原理:PWM简称脉冲宽度调制,一个周期内存在不同极性电平状态。PWM频率:一秒钟从高电平再到低电平,再从低电平到高电平的瞬间次数。PWM周期:一秒钟从高电平到低电平时间 T= f/1(s)。PWM占空比:一周期高电平时间和总时间比值。PWM产生:PWM实现通过锯齿波/三角波同所需合成波形(调制波)比较,确定输出极性,锯齿波从比较器反

2022-05-07 15:38:48 2095

原创 QuartusII实现4位加法器

QuartusII实现4位加法器4位加法器构建总结参考4位加法器构建总结参考

2022-04-08 17:05:47 8455 1

原创 1位全加器

这里写目录标题一、二、绘制原理图实现1位全加器1. 半加器实现2. 全加器实现三、Verilog实现一位全加器四、硬件测试五、总结参考一、二、绘制原理图实现1位全加器1. 半加器实现创建工程文件,并勾选所需型号芯片File->New,进入后选择Block Diagram/Schematic File选择原件,实现半加器需要 一个and2 一个xor原件,后进行电路连接保存文件,并通过RTL Viewer查看线路效果图仿真测试半加器是否正确新建向量波形文件添加信号,及所

2022-03-25 19:31:55 11839

原创 Quartus II 13.1的安装及使用

Quartus II 安装及使用一、Quartus II 下载及安装1. Quartus II 下载2. Quartus II 安装3. 注册参考一、Quartus II 下载及安装1. Quartus II 下载百度网盘: https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA提取:ifte2. Quartus II 安装文件解压缩运行可安装exe程序初始安装界面勾选 accept 选项修改文件安装位置默认选项内容,nex

2022-03-13 15:02:24 1486 1

原创 Modelsim SE 安装及使用

Modelsim SE 安装及使用一、Modelsim下载及安装1. 下载2. 安装3. 注册参考一、Modelsim下载及安装1. 下载百度网盘:https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA提取:ifte2. 安装解压压缩包运行安装程序默认界面,默认操作Next修改程序安装位置Agree -> 默认操作执行进行安装操作,会弹窗默认Yes建立快捷方式 添加环境变量 自动安装完成,No后Done完成安装

2022-03-13 15:02:10 1598

原创 D触发器实现

这里写自定义目录标题一、D触发器1. 简介2. 结构3. 工作原理二、设计D触发器及验证1. 设计D触发器2. 时序验证三、调用D触发器及验证四、总结参考一、D触发器1. 简介D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件,是构成多种时序电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。对于边沿D触发器,由于在CP=1

2022-03-13 15:01:34 4297

原创 Email-FTP-RTSP协议实践研究

Email-FTP-RTSP协议实践研究一、Email1. 基本协议2. telent登录163/QQ发送邮件3. POP服务阅读邮件二、FTP/HTTP1.1协议1. FTP协议2. HTTP1.1协议三、RTSP/MMS协议1. RTSP协议2. MMS协议四、fiddler视频网站协议等五、总结参考一、Email1. 基本协议SMTP协议简介SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。SM

2021-12-29 20:09:13 1550

原创 STM32+W5500网络通信

这里写目录标题1. W5500模块实现数据通信1. 基本原理2. 程序实现2. DHCP自动获取IP1. 基本原理2. 程序实现3. modbus协议1. 基本原理2. 实现过程4. STM32+W5500实现web服务1. 基本原理2. 程序实现5. 总结参考1. W5500模块实现数据通信引脚初始化,此连线方式用于三个模块功能的整体实现PA3 -> W5500_RSTPA4 -> W5500_SCSPA5 -> W5500_SCKPA6 -> W5500_M

2021-12-25 21:42:14 5698

原创 AD原理图设计与Clion源码工具学习

AD原理图设计与Clion源码工具学习一、Altium Designer软件绘制STM32+W5500的系统电路原理图二、Clion完成STM32F103点亮LED1. 安装gcc-arm-none-eabi2. 安装配置MinGW3. 安装配置OpenOCD4. Clion安装及配置5. Clion实现STM32CubeMX点灯三、总结参考一、Altium Designer软件绘制STM32+W5500的系统电路原理图二、Clion完成STM32F103点亮LED1. 安装gcc-arm-none-

2021-12-24 20:09:22 524 1

原创 STM32的RT-Thread-Nano移植

STM32的RT-Thread-Nano移植1. CubeMX添加RT-Thread操作系统组件2. 创建工程测试项目移植3. 项目代码4. 总结参考1. CubeMX添加RT-Thread操作系统组件获取RT-Thread Nano软件包 https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc安装RT-Thread操作步骤 (Help -> Manage embedded software packages)

2021-12-22 13:10:58 643

原创 SVM算法应用综合练习(2)--人脸表情识别

@TOC1. 实验环境搭建下载所需安装包pip install scikit-imagepip install playsoundpip install pandaspip install sklearn若存在不能下载情况,可通过强制用户命令指定下载2. 图片预处理

2021-12-21 20:10:44 1146 1

原创 数字图像与机器视觉基础(2)

数字图像与机器视觉基础(2)一、图像灰度处理1. 使用OpenCV转换灰度文件2.不使用OpenCV进行灰度转换二、图像格式转换1. HSV格式2. HSI格式三、车牌数字分割四、总结参考一、图像灰度处理1. 使用OpenCV转换灰度文件代码import cv2 as cv# 路径为英文image = cv.imread('E:\\md\\Ai\\Car\\Image\\lena.png')# 将图片转为灰度图gray_image = cv.cvtColor(image, code=

2021-12-21 11:46:41 2059

原创 Python Selenium练习

Python Selenium练习一、环境配置二、百度自动化测试三、爬取指定网页四、Selenium:requests+Selenum爬取京东图书参考一、环境配置安装实验所需包 selenium安装webdriverhttps://npm.taobao.org/mirrors/chromedriver/安装驱动添加到环境变量中 安装webdriver_manager来解决webdriver二、百度自动化测试打开浏览器,进入百度搜索界面from selenium i

2021-12-10 16:53:43 999

原创 基于Web的聊天室(Springboot+netty)

基于Web的聊天室 Springboot+netty一、项目创建二、项目实现三、项目运行四、参考一、项目创建新创建空白项目next -> 修改项目信息勾选Spring Web添加文件依赖,完成项目创建<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

2021-12-10 16:16:03 131

原创 使用Keil仿真逻辑仪观察引脚电平变化

使用Keil仿真逻辑仪观察引脚电平变化一、Keil仿真二、SaleaeLogic16进行协议分析三、参考一、Keil仿真Keil启动移植项目,并打开逻辑分析仪添加引脚,观察波形运行启动PA9串口变化周期约为2s。PC13约为2s ,PA3为6s二、SaleaeLogic16进行协议分析启动软件,并添加演示设备接入逻辑分析仪后,则采集按钮发生变化设置通道修改波形幅值比例 修改触发方式Analyzers选项 修改波特率为115200连接线路,使用

2021-12-08 19:10:10 449

原创 基于IO、NIO、Netty聊天程序

基于IO、NIO、Netty聊天程序一、IO1. IO2. 实例二、NIO1. NIO2. 实例三、Netty1. Netty2. 实例四、总结五、参考一、IO1. IO简介阻塞IO网络模型:服务器启动后会进入阻塞状态,等待client连接,每一个client端连接上服务器后,服务器会为每一个客户端起一个线程来处理客户端的需求。服务器的accept()方法、服务器新起的thread中,Socket的read()和write()方法都是阻塞的。特点程序执行中存在两个阻塞点

2021-12-08 17:50:59 926 1

原创 数字图像与机器视觉基础补充

2021-12-03 16:00:22 410

原创 STM32F103基于HAL库移植uC/OS-III

STM32F103基于HAL库移植uC/OS-III一、获取uC/OS-III源码二、CubeMX生成STM32F103 HAL库三、代码移植四、程序运行五、多线程任务实现参考一、获取uC/OS-III源码进入 Micrium 公司官网下载中心:http://micrium.com/downloadcenter/选择ST 系列,点击 View all STMicroelectronics二、CubeMX生成STM32F103 HAL库新建STM32F103项目,选定开发板配置RCC配置SY

2021-11-30 22:06:59 299

原创 STM32读取RTC时钟

这里写自定义目录标题一、RTC1. 简介2. 特征3. 组成二、项目创建三、代码修改四、总结参考一、RTC1. 简介RTC—real time clock,实时时钟,主要包含日历、闹钟和自动唤醒这三部分的功能,其中的日历功能我们使用的最多。日历包含两个 32bit 的时间寄存器,可直接输出时分秒,星期、月、日、年。比起 F103 系列的 RTC只能输出秒中断,剩下的其他时间需要软件来实现RTC 是集成电路,通常称为时钟芯片。实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相

2021-11-30 11:26:22 1590

原创 游戏客户端编程

游戏客户端编程一、项目设置二、搭建客户端服务器三、数据交互四、插入背景音乐五、切换背景图片参考一、项目设置新建项目创建Windows窗体应用(.Net Framework)后续操作中要添加音乐,因此勾选设置,添加组件工具箱-> 选择项 -> COM->Windows Media Player绘制界面,并添加必要插件的属性二、搭建客户端服务器连接服务器可以进行登录操纵private NetworkStream stream;private TcpClie

2021-11-26 22:15:30 5659

原创 STM32F103 + OLED数据显示

STM32F103 + OLED数据显示一、SPI1. SPI2. 概括二、OLED数据显示三、OLED滚动显示四、温湿度显示五、总结六、参考一、SPI1. SPISPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议2. 概括SPI总线是一种4线总线,因其硬件功能很强,所

2021-11-25 20:47:11 1083

原创 C#实现端口扫描器

C#实现端口扫描器一、新建项目二、单线程实现端口扫描器三、多线程实现端口扫描器四、总结五、参考一、新建项目选择Windows窗体项目应用(.Net Framework)项目绘制界面二、单线程实现端口扫描器代码编写private void btnScan_Click(object sender, EventArgs e) { try { //初始化 tbS

2021-11-24 11:17:11 134

原创 C#利用套接字实现数据发送

C#利用套接字实现数据发送一、UDP简介1. Socket2. TCP3. UDP二、C#实现HelloWorld三、C#使用UDP套接字信息发送四、TCP套接字发送信息五、总结六、参考一、UDP简介1. SocketSocket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部。套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接

2021-11-23 22:01:24 450

原创 STM32通过I2C接口实现温湿度(AHT20)的采集

stm32通过I2C接口实现温湿度采集一、I2C总线协议1. 简介2. 物理层/协议层3. 模式二、温湿度采集三、总结四、参考一、I2C总线协议1. 简介I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、 CAN 等通讯协议的外部收发设备,所以被广泛使用。2. 物理层/协议层① 物理层支持设备的总线。“总线”指多个设备共用的信号线。在一个 I2C 通讯总线中,可连接多个 I2C 通讯

2021-11-21 20:06:13 3735

原创 基于LibSVM支持向量机并获取决策函数

基于LibSVM支持向量机并获取决策函数一、LibSVM简介二、LibSVM下载及安装三、构建数据集斌获得决策函数四、总结五、参考一、LibSVM简介二、LibSVM下载及安装官网下载地址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/文件解压缩文件中包含多种语言的代码,根据需要进行调用三、构建数据集斌获得决策函数实例from libsvm.python.svmutil import * y, x = [1,-1], [{1:1, 2:

2021-11-17 22:52:05 4042

原创 Dlib实现人脸识别数据集的建立及人脸识别

Dlib实现人脸识别数据集的建立及人脸识别一、安装dlib库二、存储人脸特征图像三、人脸特征提取四、人脸识别五、总结六、参考一、安装dlib库详见:人脸特征提取二、存储人脸特征图像存储20张人物图像import cv2import dlibimport osimport sysimport random# 存储位置output_dir = 'E:/Ai/face/face/'size = 256 if not os.path.exists(output_dir): o

2021-11-17 21:29:34 2818

原创 Wireshark抓取网络聊天

Wireshark抓取网络聊天一、实验要求二、实验操作三、总结四、参考一、实验要求1)分析此程序网络连接采用的是哪种协议(TCP、UDP)和什么端口号?2)试着在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文)3)如果是网络连接采取的是TCP,分析其建立连接时的3次握手,断开连接时的4次握手;如果是UDP,解释该程序为何能够在多台电脑之间(只有是同一个聊天室编号)同时传输聊天数据?二、实验操作运行疯狂聊天程序,并检测信息连通性Wireshark进

2021-11-17 18:08:52 408

原创 Python爬虫练习

Python爬虫练习一、爬虫简介1. 介绍2. 软件配置二、爬取南阳理工OJ题目三、爬取学校信息通知四、总结五、参考一、爬虫简介1. 介绍网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。爬虫从初始网页的url开始, 不断从当前页面抽取新的url放入队列。直到满足系统给定的停止条件才停止。可以为搜素引擎从互联网中下载网页数据,是搜素引擎的重要组成部分。2. 软件配置python 3.8pip install

2021-11-16 19:33:07 929 1

原创 SVM深入理解

SVM深入理解&人脸特征提取五、SVM数据集进行可视化分类月亮数据集1. 线性SVM2. 多项式核3. 高斯核五、SVM数据集进行可视化分类月亮数据集1. 线性SVM导入包# 导入月亮数据集和svm方法#这是线性svmfrom sklearn import datasets #导入数据集from sklearn.svm import LinearSVC #导入线性svmfrom matplotlib.colors import ListedColormapfrom sklea

2021-11-06 00:36:40 403

原创 人脸特征提取

人脸特征提取一、dlib库1. 简介2. 环境配置3. dlib库与OpenCV安装二、人脸信息采集三、人像墨镜绘制四、总结五、参考一、dlib库1. 简介Dlib是一个包含机器学习算法的C++开源工具包。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib是开源的、免费的;官网和git地址:官网 : http://dlib.net/github : http

2021-11-05 23:18:30 1085

原创 串口文件传输

串口文件传输一、实验要求二、实验设备三、实验操作四、总结一、实验要求串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。二、实验设备两台笔记本电脑若干杜邦线USB 转 TTL 串口两个三、实验操作选定一文件,并进行基本压缩操作等连接TTL串口线,并连接两台电

2021-11-05 22:03:46 615

原创 点阵汉字的字模读取与显示

点阵汉字的字模读取与显示一、汉字点阵库1. 汉字编码1.1 区位码1.2 机内码2. 点阵字库结构3. 汉字点阵获取3.1 区位码获取汉字3.2 汉字机内码获取汉字二、汉字显示三、总结四、参考一、汉字点阵库1. 汉字编码1.1 区位码在国标 GD2312—80 中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中方阵的每一行称为一个“区”每一列称为一个“位”阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。区位码的前两位是它的区号,后

2021-11-05 21:11:12 3587

原创 STM32采用串口DMA方式向上位机连续发送数据

STM32采用串口DMA方式向上位机连续发送数据一、DMA1. 基本概念2. 原理3. DMA传输数据的四要素4. 传输方式二、实现用DMA连续向上位机发送数据三、总结四、参考一、DMA1. 基本概念直接存储器访问 (DMA) :用于在外设与存储器之间以及存储器与存储器之间进行高速数据传输。DMA传输过程的初始化和启动由CPU完成,传输过程由DMA控制器来执行,无需CPU参与,从而节省CPU资源,提高利用率。2. 原理DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始

2021-11-02 19:43:00 772 1

原创 STM32中断

STM32之中断控制LED灯一、STM32中断1. 概念2. 中断响应过程3. 中断优先级二、仿中断高低电平控制LED灯1. CubeMx2. 控制代码编写三、总结四、参考一、STM32中断1. 概念中断是由内核外部产生的,一般由硬件引起,比如外设中断和外部中断等。2. 中断响应过程中断源发出中断请求判断处理器是否允许中断,以及该中断源是否被屏蔽中断优先级排队处理器暂停当前程序,保护断点地址和处理器的当前状态,根据中断类型号,查找中断向量表,转到对应的中断服务程序执行中断服务程序恢

2021-11-02 16:53:22 9659

原创 线性判别准则(LDA)与线性分类算法(SVM))

线性判别准则与线性分类算法一、线性判别分析简介二、线性判别分析原理1. 类内散度矩阵2. 类间散度矩阵3. 广义瑞利商三、Sklearn库实现线性判别分析四、SVM1. 简介2. 距离衡量标准五、SVM数据集进行可视化分类月亮数据集1. 线性SVM2. 多项式核3. 高斯核六、总计七、参考一、线性判别分析简介线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的有监督数据降维方法。LDA的主要思想是将一个高维空间中的数据投影到一个较低维的空间中,且投影后要保

2021-11-01 18:33:31 1446

原创 网络抓包与HTTP协议

网络抓包与HTTP协议一、TCP协议1. TCP简介2. TCP工作原理二、HTTP协议1. HTTP简介2. HTTP工作原理三、Wireshark1. 简介2. 工作流程四、网络抓包五、总结六、参考一、TCP协议1. TCP简介  传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。  TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中

2021-10-30 22:51:14 369

空空如也

空空如也

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

TA关注的人

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