- 博客(53)
- 资源 (2)
- 收藏
- 关注
原创 状态机专题练习
状态机专题练习根据以下描述功能用verilog编写一段代码,并用状态机来实现该功能**参考思路**代码视频效果画出可以检测10010串的状态图, 并用verilog编程实现思路代码实现视频参考根据以下描述功能用verilog编写一段代码,并用状态机来实现该功能(1)状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程(2)描述状态跳转时间;(3)编码实现参考思路代码由于计数器设
2022-05-03 16:35:23
464
原创 数字电路基础与Quartus-II入门
数字电路基础与Quartus-II入门安装Quartus-II软件和Modsim设计D触发器使用门电路设计直接调用参考安装Quartus-II软件和ModsimQuartus II 13.1的安装及使用Modelsim SE版本的安装及使用方法原子哥教学视频:https://www.bilibili.com/video/BV194411f7GD?p=5设计D触发器实验详细步骤文档:quartus II输入原理图及仿真步骤使用门电路设计仿真结果:直接调用仿真结果:参考
2022-03-14 21:15:32
1218
原创 大作业——人工智能
CNN人脸微笑识别图片预处理图片数据集CNN人脸识别创建模型归一化与数据增强创建网络摄像头人脸识别图片识别参考图片预处理import dlib # 人脸识别的库dlibimport numpy as np # 数据处理的库numpyimport cv2 # 图像处理的库OpenCvimport os# dlib预测器detector = dlib.get_frontal_face_detector()predictor = dlib.shape_predictor('D:\\Sch
2022-01-14 20:00:14
1421
8
原创 大作业——嵌入式系统
flashwav格式音频数据wav音频选用的是window开机的经典音乐,通过python代码得到wav格式音频的数据块,采用16进格式保存import sysif __name__ == '__main__': # wav文件 filepath = 'winxp.wav' # 打开二进制文件 bin_file = open(filepath, 'rb') # 跳到data bin_file.seek(42, 0) # 读取data大小
2022-01-14 19:59:30
3566
原创 大作业1——网络通信
爬取豆瓣网信息#定义爬取豆瓣网信息函数import requestsfrom bs4 import BeautifulSoupdef parse_html(book): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36' } r
2022-01-14 16:37:31
488
原创 RT-thread Nano移植
RT-thread Nano移植创建项目代码编译运行参考创建项目项目创建参考:RT-thread Nano在stm32f103上的移植(STM32CubeMX)基于 STM32CubeMX 添加 RT-Thread 操作系统组件(一)- 详细介绍操作步骤代码主函数中添加 HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_4); rt_thread_delay(1000); HAL_GPIO_TogglePin(GPIOA,GPIO_P
2021-12-31 11:38:26
3718
原创 STM32+W5500网络通信
STM32+W5500网络通信Modbus/TCP协议代码设置结果参考Modbus/TCP协议详细:ModBus/TCP协议分析代码从机网络void Load_Net_Parameters(void){ Gateway_IP[0] = 192;//加载网关参数 Gateway_IP[1] = 168; Gateway_IP[2] = 1; Gateway_IP[3] = 1; Sub_Mask[0]=255;//加载子网掩码 Sub_Mask[1]=255; Sub_Mas
2021-12-25 16:43:54
1648
原创 Clion源码工具学习
Clion源码工具学习创建项目修改 st_nucleo_f103rb.cfg 文件代码编译配置结果参考详细配置过程请参考:CLion2021 的详细安装并基于 CLion 实现 stm32F103 点亮 LED使用 Clion2021,采用一套新的嵌入式软件开发工具包(替代 Keil ),完成 stm32F103C8点亮 LED 的程序。创建项目用 CLion 创建新工程,选择 STM32CubeMX工程创建好后,点击 Open with STM32CubeMX,进入 CubeMX点击
2021-12-25 15:52:29
2366
原创 数字图像与机器视觉基础补充(2)
数字图像与机器视觉基础补充2彩色图像文件转换为灰度文件使用opencv不使用opencv彩色图像(RGB)转为HSV、HSI 格式HSV彩色图像文件转换为灰度文件使用opencvimport cv2 as cvimg = cv.imread('189.png', 1)img_1 = cv.cvtColor(img, cv.COLOR_BGR2GRAY)cv.imshow('gray', img_1)cv.imshow('colour', img)cv.waitKey(0)不使用op
2021-12-24 10:49:37
2210
原创 SVM算法应用综合练习(2)--人脸表情识别
@TOCHOG简介代码# 导入包import numpy as npimport cv2import dlibimport randomfrom sklearn.svm import SVCfrom sklearn.svm import LinearSVCfrom sklearn.pipeline import Pipelineimport osimport joblibfrom sklearn.preprocessing import StandardScaler, Polyno
2021-12-24 10:20:29
272
原创 Email-FTP-RTSP协议实践研究
Email-FTP-RTSP协议实践研究telnet 命令测试 SMTP 服务(QQ邮箱发邮件)POP3SMTP(本次使用)IMAP开启 QQ 邮箱的 SMTP 服务开启 telnet 客户端telnet 命令测试 SMTP 服务参考telnet 命令测试 SMTP 服务(QQ邮箱发邮件)POP3POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,
2021-12-22 17:35:43
778
原创 Java网络编程进化史:从IO到NIO再到Netty
Java网络编程进化史:从IO到NIO再到Netty基于IO、NIO、Netty的Java网络程序IONIONetty基于IO的Java网络程序基于NIO的Java网络程序基于Netty的Java网络程序基于Web的聊天室(Springboot+netty)参考基于IO、NIO、Netty的Java网络程序IOserver端首先创建了一个 serverSocket来监听8000端口,然后创建一个线程,线程里面不断调用阻塞方法 serversocket.accept();获取新的连接,当获取到新的连接之
2021-12-12 16:37:45
998
原创 数字图像与机器视觉基础补充(1)
数字图像与机器视觉基础补充1彩色图片位图文件头查看压缩奇异值分解(SVD)采用图像的开闭运算(腐蚀-膨胀),检测出2个样本图像中硬币、细胞的个数。硬币细胞采用图像梯度、开闭、轮廓运算等,对图片中的条形码进行定位提取;再调用条码库获得条码字符。参考彩色图片位图文件头查看我用的是notepad++,使用时需要在其查看库里安装HEX-Editor打开bmp文件后点击这个32彩.bmp16彩.bmp16色.bmp256色.bmp单色.bmp压缩奇异值分解(SVD)im
2021-12-10 11:38:15
1428
原创 uc/os3多任务与实时日历
uc/os3多任务与实时日历STM32F103C8T6移植uC/OS-III实现多任务CubeMX建立项目GPIORCCUSART1SYSusOS移植代码gpio.cmain.c效果STM32F103基于RTC实现简单日历RTCCubeMX创建项目RTCUSART1RCC时钟代码效果参考STM32F103C8T6移植uC/OS-III实现多任务CubeMX建立项目GPIORCCUSART1SYSusOS移植STM32F103C8T6移植uC/OS-III基于HAL库超完整详细过程代
2021-12-04 23:23:17
387
原创 STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集
STM32F103完成基于I2C协议的AHT20温湿度传感器的数据采集I2C工作原理软件I2C硬件I2C代码实现代码结果参考I2C工作原理I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。SDA(串行数据线)和SCL(串行时钟线)都是双向I/O线,接口电路为开漏输出。需通过上拉电阻接电源VCC。当总线空闲时,两根线都是高电平,连接总线的外同器件都是CMOS器件,输出级也是开漏电路。在总线上消耗的电流很小,因此,总线上扩展的器件
2021-11-26 17:07:45
544
原创 使用STM32F103的SPI或IIC接口实现OLED显示
使用STM32F103的SPI或IIC接口实现OLED显示一、原理二、实现1.显示中文三、结果五、参考一、原理SPI的定义SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,s
2021-11-26 17:03:55
775
原创 游戏客户端编程
游戏客户端编程界面调整代码实现服务器连接发送数据资源文件背景音乐图片运行参考链接编写一个网游客户端,游戏服务器的校园内网IP地址为 10.1.230.74,端口为3900,采用TCP连接。连接成功后,可以将服务器发来的消息不停地显示在 listbox 中;客户端要发给服务器的数据,通过 textbox输入 或者点击button;能够播放背景音乐;每隔30秒,变换一次游戏背景图片。参考代码框架见 game1.zipgame1.zip界面调整初始界面:我们可以发现,客户端上少了个确认发
2021-11-24 11:50:43
3929
原创 C#使用TCP/UDP协议通信
C#使用TCP/UDP协议通信1.控制台程序使用 UDP 通信创建项目单输出代码使用 UDP 通信发送端接收端结果Form窗口程序使用 TCP 通信1.控制台程序使用 UDP 通信实验内容:用C#、Java或python编写一个命令行/控制台的简单hello world程序,实现如下功能:在屏幕上连续输出50行“hello cqjtu!重交物联2019级”同时打开一个网络UDP 套接字,向另一台室友电脑发送这50行消息创建项目打开 VS2019 ,点击 “ 创建新项目 ”进行条件筛
2021-11-21 17:05:10
3209
原创 wireshark抓包疯狂聊天
wireshark抓包疯狂聊天打开程序发送信息测试连通性wireshark抓包分析参考打开程序发送信息测试连通性wireshark抓包通过分析程序源码可以看到程序通过UDP向255.255.255.255发送信息在wireshark中输入筛选ip.dst==255.255.255.255进行过滤可以发现存在这样的包,同时也验证了是基于udp协议进行发送,而且是发送到广播地址255.255.255.255分析首先我们看端口,端口号是7001,通过分析源码可以得知端口号为房间号
2021-11-17 20:26:34
200
原创 python爬取重庆交通大学新闻网站中近几年所有的信息通知
python爬取重庆交通大学新闻网站的信息原理代码结果原理网站分析:打开重庆交通大学新闻网站:http://news.cqjtu.edu.cn/xxtz.htm键盘右键F12,查看网页源代码,找到新闻标题所在位置,也就是需要爬取的内容。代码import requestsfrom bs4 import BeautifulSoupimport csvfrom tqdm import tqdmimport urllib.request, urllib.error # 制定URL 获取网
2021-11-17 19:21:43
1051
原创 python爬虫入门
python爬虫入门原理代码爬取网页信息结果总结原理爬虫从初始网页的URL开始,获取初始网页上的URL在抓取网页的过程中,不断从当前页面上抽取新的URL放X队列直到满足系统给定的停止条件代码import requestsfrom bs4 import BeautifulSoupimport csvfrom tqdm import tqdm# 模拟浏览器访问Headers = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537
2021-11-17 15:36:02
781
原创 基于LibSVM得到决策函数
基于LibSVM得到决策函数下载解压导入数据准备训练结果文件数据决策函数参考资料下载LibSVM解压导入我用的是Java,所以导入Java文件夹下的所有文件数据准备训练public class Main { public static void main(String[] args) throws IOException { // write your code here //存放数据以及保存模型文件路径 String filepath
2021-11-17 11:07:08
1187
原创 人脸识别数据集的建立(dlib和opencv)
人脸识别数据集的建立采集脸部图片20张采集对应20张图片的68个特征点数组人脸识别总结采集脸部图片20张import cv2import dlibimport osimport sysimport random# 存储位置output_dir = 'D:/myworkspace/JupyterNotebook/People/person/631907060523'size = 64 if not os.path.exists(output_dir): os.makedirs(o
2021-11-17 10:30:14
470
原创 SVM深入理解
SVM深入理解实现引包函数定义月亮数据集多项式拟合高斯核拟合鸢尾花数据集多项式拟合高斯核拟合参考资料采用多项式分类函数、高斯核函数对鸢尾花、月亮数据集进行SVM训练所得到最终分类决策函数,输出出来。实现引包import numpy as npimport matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.preprocessing import PolynomialFeatures,StandardScaler
2021-11-12 09:06:27
159
原创 (人脸特征提取)python3+opencv3.4+dlib库
人脸特征提取dlib库简介dlib库的安装dlib库简介一个机器学习的开源库,包含了机器学习的很多算法,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码)。Dlib可以帮助您创建很多复杂的机器学习方面的软件来帮助解决实际问题。目前Dlib已经被广泛的用在行业和学术领域,包括机器人,嵌入式设备,移动电话和大型高性能计算环境。Dlib是一个使用现代C++技术编写的跨平台的通用库,遵守Boost Software licence. 主要特点如下:完善的文档:每个类每个函数都
2021-11-12 08:42:50
267
原创 基于OpenCv和机内码实现在图片上追加文字
基于OpenCv和机内码实现在图片上追加文字原理机内码区位码实现编译运行原理机内码汉字的机内码是指在计算机中表示一个汉字的编码。机内码与区位码稍有区别。如上所述,汉字区位码的区码和位码的取值均在 1~94 之间,如直接用区位码作为机内码,就会与基本 ASCII 码混淆。为了避免机内码与基本 ASCII 码的冲突,需要避开基本 ASCII 码中的控制码(00H~1FH),还需与基本 ASCII 码中的字符相区别。为了实现这两点,可以先在区码和位码分别加上 20H,在此基础上再加 80H(此处“H”表示前
2021-11-10 17:21:42
146
原创 通过串口发送图片
通过串口发送图片原理波特率基本概念传输字节数计算方法有校验位接线原理波特率基本概念波特率即每秒发生硬件触发上升沿或下降沿的次数。用 9600 波特率来举例,就是最高每秒可以检测到 9600 个电平变化(上升沿/下降沿),也可以说最大每秒可以接收 9600 位数据,bit ,也就是二进制数(0/1),每个电平发生跳变的时钟周期为:1/9600 s.传输字节数计算方法用实际使用中,最常用的串口通讯协议举例,注意前置条件为:1 个起始位,8 个数据位,0 个校验位,1 个停止位,也就是我们常说的:8,N
2021-11-10 15:15:37
1575
原创 STM32中断与DMA通信编程
STM32中断与DMA通信编程中断模式编程CubeMx创建项目Keil修改代码串口中断cubeMX创建项目Keil修改代码DMA方式Keil修改代码总结参考中断模式编程用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。CubeMx创建项目选择stm32f103c8芯片创建项目Keil修改代码通过stm32f1xx_it.c文件中的EXTI9_5_IRQHa
2021-11-06 16:10:26
430
原创 WareShark抓包
WareShark抓包TCP 协议的连接与断开握手连接握手断开连接建立连接断开Fiddler 抓 HTTPS 网站包HTTP 协议简介抓包参考资料TCP 协议的连接与断开TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传
2021-11-06 14:31:29
612
原创 线性判别准则与线性分类编程实践
线性判别准则与线性分类编程实践线性判别准则(LDA)线性分类算法Sklearn库实现线性判别分析数据集、包导入产生随机数数据集分组月亮数据集进行SVM分类参考资料线性判别准则(LDA)LDA是一种监督学习的降维技术。也就是说它的数据集的每个样本是有类别输出的,这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。LDA算法既可以用来降维,又可以用来分类,但是目前来说,主要还是用于降维。在进行图像识别相关的数据分析时,LDA
2021-11-05 13:18:43
163
原创 西瓜决策树-sklearn实现
西瓜决策树-sklearn实现读取数据数据编码ID3算法CART算法基尼指数参考资料读取数据import pandas as pdfrom sklearn.preprocessing import LabelEncoderfrom sklearn.tree import DecisionTreeClassifierdata = pd.read_csv('F:/西瓜数据集.csv',header=None)data数据编码#创建LabelEncoder()对象,用于序列化label =
2021-10-31 20:20:58
1660
原创 西瓜决策树-ID3算法
西瓜决策树-ID3算法ID3决策树算法背景知识数据描述概述代码实现引入包熵拆分数据集选择最优特征寻找最多作为标签生成树初始化画图结果参考资料ID3决策树算法背景知识ID3算法最早是由罗斯昆兰(J. Ross Quinlan)于1975年在悉尼大学提出的一种分类预测算法,算法的核心是“信息熵”。ID3算法通过计算每个属性的信息增益,认为信息增益高的是好属性,每次划分选取信息增益最高的属性为划分标准,重复这个过程,直至生成一个能完美分类训练样例的决策树。决策树是对数据进行分类,以此达到预测的目的。该决策
2021-10-31 17:54:27
6925
1
原创 多元线性回归算法预测房价
多元线性回归算法预测房价多元线性回归模型预测房价导入基础包与读取数据数据清洗数据清洗方法数字异常值|Numeric OutlierZ-score函数实现数据分析拟合引入模型建模优化二次建模处理多元共线性Excel简单多元线性回归Sklearn库重做多元线性回归未处理直接求解多元线性回归模型预测房价导入基础包与读取数据import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as plt
2021-10-26 14:48:59
324
原创 基于HAL库实现stm32简单串口通信
基于HAL库实现stm32简单串口通信USERT原理介绍功能框图项目创建keil编辑生成的代码烧录参考资料USERT原理介绍通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的
2021-10-24 18:12:52
405
原创 基于HAL库实现流水灯
基于HAL库实现LED流水灯STM32CuBeMX项目创建效果STM32CuBeMX项目创建选择对应型号单片机,本次实验采用stm32F103C8T6。选择要使用到引脚,本次实验使用A4、B5、C14引脚。点击对应引脚,设置为GPIO_Output.配置系统调试接口,选择Serial Wire配置GPIO,均设置为low配置项目效果 嵌入式系统 STM32F103寄存器方式点亮LED
2021-10-24 17:11:27
1760
原创 GCC背后的故事&OpenCV相识何必曾相逢
GCC背后的故事&OpenCV相识何必曾相逢OpenCV从 Ubuntu 源仓库安装 OpenCV从源码安装 OpenCV安装构建工具和所有的依赖软件包克隆所有的OpenCV 和 OpenCV contrib 源创建一个临时构建目录,并且切换到这个目录:编译验证安装结果一. 学习并掌握可执行程序的编译、组装过程。1)1.编辑生成例子程序 hello.h、hello.c 和 main.c。2.将 hello.c 编译成.o 文件。3.:由.o 文件创建静态库。4.在程序中使用静态库。方法一方法二(懒
2021-10-17 18:27:26
331
原创 从JDBC到Mybatis
从JDBC到MybatisMybeatis概述传统JDBC编程Mybeatis概述MyBatis是一个Java持久化框架,它通过XML描述符或注解把对象与存储过程或SQL语句关联起来,映射成数据库内对应的纪录。MyBatis是在Apache许可证 2.0下分发的自由软件,是iBATIS 3.0的分支版本,其维护团队也包含iBATIS的初创成员。与其他对象关系映射框架不同,MyBatis没有将Java对象与数据库表关联起来,而是将Java方法与SQL语句关联。MyBatis允许用户充分利用数据库的各种
2021-10-15 19:10:59
142
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅