- 博客(48)
- 收藏
- 关注
原创 状态机专题练习
目录一.用verilog编写一段代码,并用状态机来实现该功能1.实验内容2.实验过程二.画出可以检测10010串的状态图, 并用verilog编程实现之一.用verilog编写一段代码,并用状态机来实现该功能1.实验内容(1)状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程;(2)描述状态跳转时间;(3)编码实现。2.实验过程1.大体思路:2.实验代码:module z
2022-05-08 22:37:08 255
原创 数字电路基础与Quartus-II入门
目录一.安装Quartus-II软件和Modsim仿真软件二. 在 Quartus-II 中用门电路设计一个D触发器,并进行仿真,时序波形验证1.创建项目过程2.绘制D触发器原理图3.查看仿真波形一.安装Quartus-II软件和Modsim仿真软件可参考链接:https://blog.csdn.net/qq_43279579/article/details/115158140.https://blog.csdn.net/qq_43279579/article/details/115176423.
2022-03-15 13:29:58 2160
原创 RT-thread Nano移植
目录一.创建项目过程二.代码修改三.运行结果四.总结五.参考链接一.创建项目过程1.获取RT-Thread Nano软件包:https://blog.csdn.net/YouthBlood9/article/details/122248262?spm=1001.2014.3001.5501.2.安装RT-Thread:https://blog.csdn.net/qq_36075612/article/details/107309750.3.下载好如下:二.代码修改1.主函数中添加:
2021-12-31 22:03:02 161
原创 Email-FTP-RTSP协议实践研究
目录一.telnet 命令测试 SMTP 服务(QQ邮箱发邮件)1.POP32.SMTP(本次使用)3.IMAP4.开启 QQ 邮箱的 SMTP 服务5.开启 telnet 客户端6.使用 CMD 利用 telnet 命令测试 SMTP 服务二.了解FTP协议和HTTP1.1协议1.FTP协议2.HTTP1.1协议3.安装配置vsftpd三.VLC四.使用fiddler 去分析视频网站五.总结六.参考文献一.telnet 命令测试 SMTP 服务(QQ邮箱发邮件)1.POP3POP3是Post Of
2021-12-30 19:13:23 329
原创 STM32F103基于W5500实现Modbus简单TCP通信
目录一、Modbus/TCP协议1.功能码2.查询报文和相应报文二.从机代码1.初始化从机网络2.简单响应函数3.main函数循环等待连接三、结果四.总结五.参考文献一、Modbus/TCP协议1.功能码2.查询报文和相应报文查询报文:00 6D 00 00 00 06 01 03 00 00 00 0100 6D 查询编号00 00 协议00 06 数据包长度01 设备编号03 功能码00 00 起始地址00 01 查询寄存器个数响应报文:00 6D 00 00 00
2021-12-25 17:41:11 2187
原创 AltiumDesigner和Clion工具学习
目录一.使用Altium Designer软件完成STM32+W5500的系统电路原理图设计1.如何安装Altium Designer2.元件库下载地址3.绘制stm32的最小系统的电路原理图1.新建工程2.添加文件3.绘制过程4.STM32+W5500的系统电路原理图设计二.使用Clion完成STM32F103点亮LED1.Clion相关配置2.实现LED点灯程序三.总结四.参考文献一.使用Altium Designer软件完成STM32+W5500的系统电路原理图设计1.如何安装Altium Des
2021-12-25 17:28:47 421
原创 SVM算法应用综合练习--人脸表情识别
目录一.HOG特征提取原理二.代码实现三、总结四、参考文献一.HOG特征提取原理HOG特征提取流程可分为6个部分:检测窗口、归一化图像、计算梯度、构建梯度直方图、块内进行细胞归一化梯度直方图、生成HOG特征向量。 1.检测窗口: HOG通过窗口(window)和块(block)将图像进行分割。通过以细胞(cell)为单位,对图像某一区域的像素值进行数学计算处理。在此先介绍窗口(window)、块(block)和细胞(cell)的概念及之间的联系。窗口(window):将图像按一定大小分割成多个
2021-12-24 15:52:43 339
原创 数字图像与机器视觉基础补充(2)
目录一.彩色图像文件转换为灰度文件1.使用OpenCV转换灰度文件2. 不使用OpenCV进行灰度转换二.彩色图像(RGB)转为HSV、HSI 格式1. HSV格式转换2. HSI格式转换三.车牌数字分割为单个的字符图片四.总结五.参考文献一.彩色图像文件转换为灰度文件1.使用OpenCV转换灰度文件原图:代码:import cv2 as cv# 路径为英文image = cv.imread('D:/99988/lena.png')# 将图片转为灰度图gray_image = cv.
2021-12-24 14:27:54 141
原创 SpringBoot+Netty实现简单聊天室以及动态网页的信息爬取
目录一.SpringBoot+Netty实现简单聊天室1.项目创建1.WebChatApplication2.SessionGroup3.SocketSession4.User5.WebSocketServer6.WebSocketTextHandler7.index.html2.结果二.动态网页的信息爬取1.自动填充百度网页的查询关键字,完成自动搜索2.爬取动态网页数据3.requests+Selenum爬取京东图书三.总结四.参考文献一.SpringBoot+Netty实现简单聊天室1.项目创建1
2021-12-17 22:38:21 828
原创 基于IO/NIO/Netty的Client/Server的java程序实现
目录一.IO实现1.简介(1)传送IO特点(2)原理图2.项目创建3.代码4.运行结果二、NIO实现1.NIO介绍(1)特点(2)通信步骤(3)原理图(4)与IO对比2.项目创建3.代码:4.运行结果三、Netty1.简介(1)特点(2)Netty通信的步骤(3)框架组成2.项目环境配置3.代码4.结果四.总结五.参考文献一.IO实现1.简介(1)传送IO特点(1)服务端阻塞点server.accept();获取套接字的时候inputStream.read(bytes);输入流读取数据的时候.
2021-12-17 19:16:31 919
原创 数字图像与机器视觉基础1
目录一.比较不同位深度BMP文件1.图片准备2.图片信息查看3.分析文件头标准编码位图文件头位图信息头图片文件转换二.用奇异只分解对图片进行降维处理三.采用图像的开闭运算,检测出2个样本图像中硬币、细胞的个数1.硬币:2.细胞采用图像梯度、开闭、轮廓运算等,对图片中的条形码进行定位提取;再调用条码库获得条码字符五.总结六.参考文献一.比较不同位深度BMP文件1.图片准备1.从网页上下载一张彩色图片,查看该图片信息,显示位深度242.通过电脑画图程序和PS软件,分别将该图片保存为 32位、16位彩色
2021-12-10 15:04:58 162
原创 STM32之时钟RTC
目录一、RTC1.特征及原理2.具体流程3.时钟选择4.复位过程5.中断二.stm32CubeMx工程创建三.代码编写四.运行结果五.总结六.参考文献一、RTCRTC,即Real Time Clock,实时时钟。RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC
2021-12-04 23:20:38 787
原创 STM32F103C8T6移植uCOS基于HAL库
目录一.使用CubeMX建立STM32F103C8T6HAL库二.uCOSIII源码进行移植1.源码下载2.移植准备3.开始移植4.代码修改5.参数配置三.运行结果四.实现三个任务1.代码修改2.运行演示五.总结六.参考文献一.使用CubeMX建立STM32F103C8T6HAL库1.设置PC13为GPIO_Output用于点亮LED灯2.配置SYS3.配置RCC4.设置串口USART15.设置工程6.点击生成代码7.在Keil中打开该工程,在main函数中的while循环里添加
2021-12-04 21:44:03 260
原创 VS编写简单的网游客户端
目录一.测试连接服务器二.设计客户端三.连接服务器1.在Form中初始化进入游戏:2.设置播放背景音乐3.实现游戏背景图片变换四.运行结果五.总结六.参考文献一.测试连接服务器1.打开cmd,输入ping 10.1.230.742.输入telnet,进入telnet界面,输入set localecho,打开本地回显:4.连接服务器,输入命令open 10.1.230.74 3900二.设计客户端1.新建项目打开VS2022选择新建Windows窗体应用2.使用控件设计界面如下3.
2021-11-27 20:24:04 4002
原创 基于I2C/SPI的温湿度采集与OLED显示
目录一.温湿度采集1.了解I2C总线协议2.实现AHT20采集程序3.温湿度的OLED(4SPI)显示二.OLED显示1.了解SPI(串行外设接口)2.使用0.96寸OLED显示屏显示数据3.OLED滑动显示长字符三.总结四.参考文献一.温湿度采集1.了解I2C总线协议1.什么是I2C协议I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在
2021-11-26 19:58:26 2773
原创 TCP/UDP编程基础
目录一.Socket1.TCP/IP2.socket3.socket通信流程二.UDP通信1.项目创建过程2.各部分代码发送端接受端3.结果三、Form窗口程序项目创建客户端代码3.运行结果4.端口扫描单线程多线程四、抓包分析五、总结六.参考文献一.Socket1.TCP/IP要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,定义了主机如何连入因特网及数据如何再
2021-11-24 20:24:37 1266
原创 网络协议抓包分析与爬虫入门
目录一.wireshark抓取网络数据包1.打开程序并检测联通性2.进行抓包3.抓取的信息分析二.爬虫入门-抓取网页信息1.抓取南阳理工学院ACM题目网站练习题目数据1.操作原理2.实践操作2.抓取本校(重庆交通大学)新闻网站中近几年所有的信息通知的发布日期和标题三.总结四.参考文献一.wireshark抓取网络数据包1.打开程序并检测联通性1.打开疯狂聊天软件输入呢称和房间号2.发送一条为123的信息,可以发现已经发送成功3.在另一台电脑上同样方式创建另一个用户,输入相同的房间号4.输入
2021-11-20 15:19:37 1850
原创 人脸识别数据集建立及应用
目录一.人脸识别数据集的建立1.采集图片2.提取特征点信息二.进行人脸识别三.总结四.参考文献一.人脸识别数据集的建立1.采集图片1.采集自己的脸部图片20张,保存到文件夹中import numpy as npimport cv2import dlibimport osimport sysimport random# 存储位置output_dir = 'C:/Users/DELL/face'size = 64 if not os.path.exists(output_dir):
2021-11-19 14:24:41 497
原创 SVM算法应用综合练习
目录一.基于LibSVM得到决策函数1.下载Libsvm2.解压后导入3.准备需要实验的数据4.进行训练5.输出文件1.线性模型2.多项式模型3.高斯核模型6.决策函数二.人脸识别数据集的建立1.人脸数据采集2.数据集的建立三.总结四.参考文献一.基于LibSVM得到决策函数1.下载Libsvm地址:https://www.csie.ntu.edu.tw/~cjlin/libsvm/.2.解压后导入1.下载好的zip文件解压得到下方的文件2.在idea中新建java文件,引入解压后得到得Jav
2021-11-18 22:07:21 762
原创 点阵汉字的字模读取与显示
目录一.串口传输文件的练习1.实验过程2.结果查看二.Ubuntu+OpenCV学习汉字点阵1.汉字点阵字库原理一.串口传输文件的练习1.实验过程1.打开串口调试助手,选择文件,设置波特率为1152002.此处已经选择好要发送的图片,此时发送端为com3,接收端为com53.点击发送4.接受端接收后点击保存数据2.结果查看1.此处打开保存的位置,找到.dat文件2.更改后缀名,点击查看可发现已经发送成功,图片完美显示二.Ubuntu+OpenCV学习汉字点阵1.汉字点阵字库
2021-11-12 22:48:59 2462
原创 SVM深入理解&人脸特征提取
目录一.SVM深入理解1.SVM算法2.重做例子代码二.人脸特征提取1.采集人脸信息、绘制68个特征点2.给人脸绘制一幅墨镜三.总结四.参考文献一.SVM深入理解1.SVM算法支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问
2021-11-12 11:19:29 1604
原创 STM32中断与DMA通信编程
目录一.中断模式编程1.STM32cubeMx项目创建2.Keil修改代码3.运行结果二.串口中断1.STM32cubeMx创建项目2.Keil修改代码3.烧录并运行程序三、DMA方式1.stm32cubeMX创建项目过程2.代码修改3.烧录并运行结果四.总结五.参考链接一.中断模式编程用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。1.STM32cubeMx项目
2021-11-08 19:46:16 185
原创 网络抓包与HTTP协议
目录一.TCP/IP协议-HTTP1.HTTP协议2.概述3.工作原理二.抓包一.TCP/IP协议-HTTPTCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议是严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。TCP/IP协议是Internet最基本的协议,其中
2021-11-06 15:52:23 159
原创 线性判别准则与线性分类编程实践
目录一.线性判别准则(LDA)二.线性分类算法三.编程实践1.编程生成模拟数据集,进行LDA算法练习2.对月亮数据集进行SVM分类四.总结五.参考文献一.线性判别准则(LDA)LDA是一种监督学习的降维技术。也就是说它的数据集的每个样本是有类别输出的,这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。LDA算法既可以用来降维,又可以用来分类,但是目前来说,主要还是用于降维。在进行图像识别相关的数据分析时,LDA是一个有力
2021-11-05 19:22:41 80
原创 决策树挑出好西瓜
目录一.什么是决策树1.定义2.分类二.ID3算法1.算法核心2.熵(entropy)3.算法步骤ID3算法应用--西瓜树1.理论分析2.使用sklearn库算法代码四、决策树算法——C4.51.对比ID3的改进点2.级目录特征选择3.信息增益率4.对连续特征的处理5.对缺失值的处理6.剪枝五.决策树算法——CART算符1.简介:2.基尼系数3.对连续特征和离散特征的处理六.总结七.参考文献一.什么是决策树1.定义1、决策树(Decision Tree)是一类常见的机器学习方法,是一种非常常用的分类
2021-10-31 20:33:13 524
原创 多元线性回归算法预测房价
这里写目录标题一.数据处理1.数值数据处理2.非数值型数据转换二.Excel多元线性回归三.多元线性回归模型预测房价1.基础包与数据导入2.变量探索3.分析数据拟合一.数据处理1.数值数据处理1.数据集主要问题(1)数据缺失(2)数据不一致(3)存在“脏”数据(4)数据不规范2.数据整体较为规整,但通过初步观察,该数据集主要存在如下问题:数据缺失,存在某些数据等于03.删除重复数据在 Excel 中新建一个工作表house_prices_new.csv执行数据清洗,方便和原始数据区分开
2021-10-26 19:29:19 610
原创 基于HAL库实现stm32简单串口通信
目录一.原理1.USERT介绍2.USERT功能3.USERT框图二.原理1.通过stm32cubeMX创建keil项目一.原理1.USERT介绍通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器
2021-10-25 19:18:17 1402
原创 基于HAL库实现流水灯
目录项目创建过程keil使用代码过程波形图效果实物图效果总结参考文献项目创建过程1.打开stm32cube,点击new project2.选择对应型号单片机,本次实验采用stm32f103c8T6型号3.点击对应的引脚,选择GPIO_output,选择要用到引脚,本次实验使用A4、B5、C14引脚4.配置系统调试接口,选择Serial Wire5.配置GPIO6.配置项目,输入项目名称,Application Structure 选择Basic,IDE选择MDK 5keil使用
2021-10-25 18:04:11 1980
原创 从JDBC到Mybatis
目录一.从JDBC到Mybatis的改进1.什么是Mybatis?2.从JDBC到Mybatis的改进是什么二.IDEA环境下Mybatis对JDBC进行改造示例对比1.JDBC操作数据库2.MyBatis应用读取功能实现完整功能实现功能测试总结参考文献一.从JDBC到Mybatis的改进1.什么是Mybatis?MyBatis支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使
2021-10-22 16:36:56 134
原创 STM32F103寄存器方式点亮LED流水灯
目录实验思路STM32F103C8点亮流水灯原理GPIO端口初始化输入输出模式和输出速率设置C语言实现汇编代码实现电路连接及效果展示总结参考文献实验思路STM32F103C8点亮流水灯原理寄存器可以存储数据,指令,也可以担任一些特定的功能,stm32板子里由很多寄存器,如果想实现流水灯操作,就需要对相应的引脚进行操作,想对引脚进行操作,就需要对相应的引脚进行时钟使能配置、端口配置(高or低)寄存器配置、端口输出寄存器配置,也就是一下步骤GPIO端口初始化1.时钟配置:本次实验采用GPIOA、B
2021-10-19 20:23:03 236
原创 Linux下安装opencv并初步使用
目录下载安装opencv下载流程配置环境代码测试图像处理使用opencv库编写打开摄像头压缩视频的程序问题及解答参考文献下载安装opencv下载流程1.从官网下载opencv,由于是在Linux下使用,下载source版本2.下载好后解压unzip opencv-3.4.15.zip配置环境1.安装cmakesudo apt-get install cmake2.依赖环境sudo apt-get install build-essential libgtk2.0-dev lib
2021-10-17 21:56:12 35960 11
原创 Linux GCC常用命令和ELF文件格式
目录一.C 语言程序 Hello.c示例1.准备工作2.预处理二.汇编三.链接四.分析elf文件1.ELF 文件的段2.反汇编 ELF五.Linux GCC 常用命令gcc简介简单编译过程1.多个文件编译2.库文件连接总结参考文献一.C 语言程序 Hello.c示例1.准备工作1.在合适的位置新建文件夹test3,并打开2.新建c语言文件hello.c,使用文本编辑器Vim,输入以下代码vi hello.c2.预处理1.输入命令gcc -E hello.c -o hello.i2
2021-10-17 19:39:54 393
原创 gcc静态库和动态库的生成以及使用
目录一.gcc 生成 .a 静态库和 .so 动态库编译生成hello.h,hello.c,main.c将hello.c编译为.o文件并创建静态库并在程序中使用静态库由.o 文件创建动态库文件并 在程序中使用动态库静态库和动态库同名时,gcc 命令调用库文件情况二.Linux 下静态库.a 与.so 库文件的生成与使用静态库.a 文件的生成与使用三.自建函数静态库.a 与.so 库文件的生成与使用静态库.a 文件的生成与使用共享库.so 文件的生成与使用四.总结五.参考文献一.gcc 生成 .a 静态库和
2021-10-17 18:23:16 417
原创 git入门&web前端初窥
这里写目录标题IDEA连接GitHub二级目录三级目录IDEA连接GitHub1.在IDEA中设置Git首先打开IDEA,依次点击File–>Setting–>Version Control–>Git–>Path to Git executable点击TEST,设置成功时,地址下方会出现Git的版本号2.在IDEA中添加GitHub账号点击File–>Setting–>Version Control–>GitHub二级目录三级目录...
2021-10-15 21:25:07 90
原创 Keil下STM32的C与汇编语言混合编程
目录C语言调用汇编函数一.Keil下C语言调用汇编程序将原汇编语言 Init_1函数的类型改为 int Init_1(init) ,此函数功能修改为 传入一个整型数x,函数运行后返回整型数 x+100。C语言调用函数传递参数的方法实验过程在汇编函数中调用一个C语言写的函数总结C语言调用汇编函数一.Keil下C语言调用汇编程序在项目下新建文件main.c和Func.smain.c代码:#include<stdio.h>extern void Init_1(void);int mai
2021-10-15 17:20:08 264
原创 JDBC 连接MySQL 数据库并查询数据
目录在此建立数据库并查询数据二级目录三级目录建立数据库并查询数据1.所用工具Navicat2.新建连接二级目录三级目录
2021-10-13 11:06:06 4081
原创 基于 MDK 创建 STM32 汇编语言工程并分析 HEX 文件内容
目录项目创建过程hex文件分析项目创建过程1.打开keil uVision5,点击上方project,选择new project2.设置好项目名称和存储位置,然后选择芯片,本人选择的是STM32F103ZE3.勾选下列选项,点击ok4.在source group1里新建一个item,文件选择为asm file,本人取名为test5.在test.s文件中输入以下代码AREA MYDATA, DATA AREA MYCODE, CODE ENTRY EXPORT __main__
2021-10-03 15:51:13 139
原创 使用Excel以及jupyter编程构建身高体重数据集的线性回归方程
目录用excel中数据分析功能做线性回归练习用jupyter编程(不借助第三方库),用最小二乘法用jupyter编程,借助skleran总结用excel中数据分析功能做线性回归练习1.打开excel,选择左上角文件,选择打开,点击浏览,选择要打开用的数据文件2.点击文件,选择更多,点击选项,点击加载项,点击转到3.勾选分析数据库,点击确定5.选择上方数据,点击最右侧的数据分析6.勾选回归,点击确定,选择x轴和y轴范围,勾选残差中的线性拟合图,点击确定7.在生成的图像中点击右上角的
2021-10-01 13:27:50 1581
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人