- 博客(54)
- 收藏
- 关注
原创 FPGA——状态机专题
1、根据以下描述功能用verilog编写一段代码,并用状态机来实现该功能。(1)状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程;(2)描述状态跳转时间;(3)编码实现。2. 画出可以检测10010串的状态图, 并用verilog编程实现之。
2022-05-15 19:27:45
1242
原创 数字电路基础与Quartus-II入门之——D触发器
录一、简说D触发器二、原理图实现D触发器及时序仿真2.1 新建项目2.2 创建原理图2.3 编译原理图2.4 创建vwm格式波形文件2.5 时序波形仿真三、调用D触发器及时序仿真3.1 新建项目3.2 创建原理图3.3 编译原理图3.4 创建vwm格式波形文件3.5 时序波形仿真四、Verilog语言写一个D触发器并仿真4.1 新建项目4.2 新建Verilog文件4.3 编写文件并查看电路图4.4 仿真测试五、总结参考文献一、简说D触发器D触发器是一个具有记忆功能的,具有两个稳定状态的信息存储器件
2022-03-15 02:40:13
3512
原创 数字电路基础与Quartus-II入门之——安装Quartus-II软件和Modelsim仿真软件
录一、相关资源下载二、安装Quartus-II软件2.1 下载Quartus-II压缩包2.2 Quartus-II的安装2.3 Quartus-II的注册三、Modelsim SE版本安装3.1 Modelsim SE的下载3.2 Modelsim SE的安装3.2 Modelsim SE 的注册一、相关资源下载软件压缩包及相关文件:链接:https://pan.baidu.com/s/1T8bQRo1LZnhFqs8bcrHYCg提取码:1112Quartus-II软件包在这里:注册
2022-03-12 20:20:50
6655
3
原创 RT-thread Nano在stm32f103上的移植(STM32CubeMX)
录一、CubeMX添加RT-Thread操作系统组件二、CubeMX新建工程三、Keil里的操作一、CubeMX添加RT-Thread操作系统组件获取RT-Thread Nano软件包,指路:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc安装RT-Thread参考:https://blog.csdn.net/qq_36075612/article/details/107309750下载好如下二
2021-12-31 10:22:35
3397
原创 Email-FTP-RTSP协议实践研究
录一、telnet登录SMTP服务和pop服务收发邮件(QQ邮箱)1.1 SMTP、POP3、IMAP协议1.1.1 SMTP1.1.2 POP31.1.3 IMAP1.2 在邮箱中开启SMTP和POP服务1.3 SMTP发送邮件1.4 POP查看邮件二、FTP文件传输和Ubuntu分割合并文件2.1 FTP、HTTP1.1 协议简介2.2 上传图片并分片下载合成一、telnet登录SMTP服务和pop服务收发邮件(QQ邮箱)了解Email涉及的SMTP、POP3、IMAP协议。采用telnet客户端
2021-12-30 22:09:16
3413
原创 STM32+W5500网络通信
录一、W5500模块1.1 W5500以太网模块介绍1.2 模块排针功能表1.3 STM32与W5500线路接法1.4 代码+调试1.5 结果二、STM32+W5500+modbus协议编程2.1 modbus协议2.1.1 modbus协议原理2.1.2 Modbus 通讯方式2.2 代码2.3 modbus poll 建立连接2.4 结果总结参考文献一、W5500模块1.1 W5500以太网模块介绍D-W5500 EVB以太网模块是一款基于WIZnet W5500芯片的以太网模块,且性价比高的以
2021-12-28 21:36:15
2356
2
原创 SVM算法应用综合练习(2)--人脸微笑识别
录一、图片准备二、图片预处理2.1 代码2.2 实验结果三、划分数据集3.1 代码3.2 实验结果四、提取人脸并判别是否为笑脸4.1 代码4.2 运行结果4.3 检测函数4.3.1 代码4.3.2 运行结果五、调用模型检测微笑5.1 代码5.2 结果六、摄像头实时检测6.1 代码6.2 结果小小的总结参考文献一、图片准备图片集:可从这里下载:https://inc.ucsd.edu/mplab/398.php二、图片预处理我们需要将人脸检测出来并对图片进行裁剪2.1 代码im
2021-12-24 13:38:43
4737
原创 数字图像与机器视觉基础补充(2)--颜色转换+分割车牌
录一、彩色图像文件转灰度文件1.1 使用opencv1.1.1 通过cvtColor库将其转为灰度1.1.2 通过分离RGB三个通道得到三个通道的灰度图1.2 不使用opencv二、将彩色图像转化为HSV、HSI 格式2.1 彩色图像转化为HSV格式2.1.1 HSV介绍2.1.2 代码2.1.3 运行结果2.2 彩色图像转化为HSI格式2.2.1 HSI介绍2.2.2 代码2.2.3 运行结果三、分割车牌3.1 分割字符步骤3.2 代码3.3 实验结果小小的总结参考文献文章所用编程软件为Anacond
2021-12-21 02:11:50
668
原创 Python+Selenium动态网页的信息爬取
录一、Selenium1.1 简介1.2 配置二、对百度进行自动化测试2.1 进入百度搜索界面2.2 自动填充百度网页的查询关键字并完成自动搜索三、爬取指定网页的名言3.1 找到元素3.2 代码实现3.3 运行结果四、Selenium:requests+Selenum爬取京东图书4.1 查看页面元素4.2 代码4.3 运行小小的总结参考文献一、Selenium1.1 简介Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作
2021-12-17 20:47:21
2874
原创 基于Web的聊天室(用Springboot+netty实现)
录一、新建项目二、环境配置三、代码3.1 新建java文件3.2 代码3.3 在桌面新建 .html文件3.4 运行结果小小的总结参考文献一、新建项目File->New-> ProjectSpring Initializr->NextJava Version 对于JDK改为8选择新建Sring Web项目后面直接 Finish,然后就创建成功了。二、环境配置在pom.xml里面添加依赖 <dependency>
2021-12-17 15:55:02
198
原创 基于IO、NIO、Netty的Java网络程序(实现服务端与客户端通信)
录一、IO Java网络聊天程序1.1 IO 介绍1.1.1 简介1.1.2 传统IO特点1.1.3 原理图1.2 IDEA新建Java项目1.3 代码1.4 运行结果二、NIO Java网络聊天程序2.1 NIO 介绍2.1.1 简介2.1.2 NIO的特点2.1.3 NIO的通信步骤2.1.4 原理图2.1.5 IO与NIO的主要区别2.2 新建项目2.3 代码2.4 运行结果三、Netty Java网络程序3.1 Netty 介绍3.1.1 简介3.1.2 特点3.1.3 Netty通信的步骤3.2
2021-12-17 00:37:13
2672
原创 数字图像与机器视觉基础补充(1)
录一、相关知识介绍1.1 位图(Bitmap):2.2 矢量图(Vector)2.3 BMP位图文件2.4 BMP文件结构2.4.1 位图文件头(BITMAPFILEHEADER)2.4.2 位图信息头(BITMAPINFOHEADER )2.4.3 颜色表2.4.4 颜色点阵数据二、比较不同位深度BMP文件2.1 使用的彩色文件2.2 保存为其他位图文件2.3 查看各位图图片信息2.4 对比MP、JPG、GIF和PNG格式文件大小比二、图片处理编程2.1 奇异函数分解2.2 检测像中硬币的个数2.3 检
2021-12-10 21:59:11
2807
原创 分析使用Keil虚拟仿真示波器仪和真实逻辑仪
录一、Keil虚拟仿真逻辑仪1.1 设置1.2 解决自动停止问题1.3 运行结果二、使用真实仿真仪2.1 SaleaeLogic16 功能特点简介2.2 下载2.3 使用2.3.1 了解软件2.3.2 示例小小的总结参考文献一、Keil虚拟仿真逻辑仪1.1 设置打开一个Keil工程,笔主这里是uCOSII移植项目文件设置进入仿真,先点击①处,再点击②处,就会出现下图界面:仿真设置,添加三个:分别用PORTA.3、PORTC.13、USART1_SR来添加,如下图运行我们点
2021-12-08 19:37:29
4710
1
原创 STM32的日历读取、设置和输出
录一、时钟RTC1.1 简介1.2 RTC特征1.3 RTC组成二、CubeMX创建工程三、代码3.1 重点函数代码3.2 修改添加代码三、烧录运行四、输出星期4.1 添加代码4.2 烧录运行小小的总结参考文献一、时钟RTCRTC (Real Time Clock):实时时钟RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。1.1 简介实时时钟的缩写是RTC
2021-12-05 03:18:06
588
原创 手把手教你STM32F103C8移植uCOSII(HAL库)并实现多任务(完美避坑版)
录一、CubeMX构建项目二、准备uCOSII2.1 下载uCOSII源码2.2 文件准备2.2.1 源码中文件改动三、移植uCOSII四、修改代码五、实现三个任务小小的总结参考文献一、CubeMX构建项目新建项目配置RCC配置SYS设置串口USART1时钟配置工程在Keil中打开该工程,在main函数中的while循环里添加语句:while (1) { /* USER CODE END WHILE */ /* USER CO
2021-12-03 15:58:32
2571
5
原创 基于C#简单的游戏客户端编程(VS)
嘿!我是目录前言一、创建项目二、界面设计三、代码3.1 连接服务器并接收数据3.2 客户端发送数据到服务器3.3 播放背景音乐3.4 定时自动更换游戏背景图片四、实验结果小小的总结参考文献前言编写一个网游客户端,游戏服务器的校园内网IP地址为 10.1.230.74,端口为3900,采用TCP连接。1)连接成功后,可以将服务器发来的消息不停地显示在 listbox 中;2) 客户端要发给服务器的数据,通过 textbox输入 或者点击button;3) 能够播放背景音乐;4) 每隔30秒,变换
2021-11-28 01:36:32
1197
原创 基于STM32的0.96寸OLED显示屏显示数据
录一、SPI(串行外设接口)1.1 SPI的定义1.2 SPI的连接方式1.3 SPI的通讯过程二、使用0.96寸OLED显示屏显示数据2.1 实验工具与材料2.2 0.96寸OLED显示屏相关介绍2.3 连接显示屏和开发板2.4 汉字点阵编码-生成字模三、OLED屏显示学号姓名3.1 实验要求3.2 汉字点阵编码参考文献一、SPI(串行外设接口)1.1 SPI的定义SPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并
2021-11-27 04:38:04
1042
原创 STM32F103基于I2C的(AHT20)温湿度回传上位机
每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)录一、IIC1.1 简介1.2 IIC主要特点1.3 IIC通信过程1.3 软件IIC和硬件IIC二、实验2.1 实验代码2.2 连接烧录2.3 回传结果小小的总结参考文献一、IIC1.1 简介IIC(Inter-Integrated Circuit) 其实是IICBus简称,所以中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。I²C的.
2021-11-26 10:12:56
2755
原创 wireshark抓取网络聊天数据包
练习wireshark抓取网络数据包。在两台及两台以上的电脑(已知IPv4地址)上运行 “疯狂聊天室”程序,通过wireshark抓包:1)分析此程序网络连接采用的是哪种协议(TCP、UDP)和什么端口号?2)试着在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文)3)如果是网络连接采取的是TCP,分析其建立连接时的3次握手,断开连接时的4次握手;如果是UDP,解释该程序为何能够在多台电脑之间(只有是同一个聊天室编号)同时传输聊天数据?...
2021-11-19 17:30:13
4238
原创 人脸识别数据集的建立(dlib+opencv)及人脸识别
文章内容:一、人脸识别数据集的建立。利用dlib和opencv编程: 1)采集自己的脸部图片20张,保存到以学号命名的文件目录下;2)采集对应20张图片的68个特征点数组,以 face_features.txt (i为01到20的数字)文件保存到同一目录下;3)通过20个特征,计算出平均(mean)特征数组 face_feature_mean.txt.二、利用dlib和opencv编程,打开摄像头,对捕获到的人脸进行特征提取,与平均特征进行误差计算(欧几里得距离),当误差小于一定阈值时,判断为同一个.
2021-11-19 13:28:18
8595
2
原创 LibSVM与鸢尾花Iris数据集(决策树)
下载 LibSVM。了解LibSVM 工具的训练数据集的格式和训练获得的决策函数模型(model)的格式。以鸢尾花Iris数据集为例,手工制作一个 两个特征的二分类的Iris数据集(类似之前作业鸢尾花数据集),用LibSVM工具分别进行线性、多项式、高斯核这三种分类训练,计算预测精度;根据训练获得的决策函数模型,写出决策函数的数学公式。嘿,我是目录一、下载LibSVM压缩包二、鸢尾花Iris数据集2.1 手工制作一个 两个特征的二分类的Iris数据集2.2 实现2.2.1 构建项目2.2.2 实验代.
2021-11-19 03:25:54
836
原创 爬虫-Python入门
通过爬虫程序的编写,进一步理解HTTP协议。用conda建立一个名为crawler的python虚拟环境,在此虚拟环境中用pip或conda安装requests、beautifulsoup4等必要包(若有网络问题,请切换国内镜像网站或国外网站仓库,注意两个安装工具使用不同的仓库)。当使用jupyter、pycharm、spyder、vscoder等IDE编程环境时,需要自己选择设置IDE后台使用的python版本或虚拟环境。比如当使用jupyter notebook时,参考(https://blog.cs.
2021-11-17 02:27:29
257
原创 人脸特征提取(在眼睛处绘制黑色实心圆)
以人脸识别(属于分类问题)为例,理解实际应用中的特征数据集提取。1)用python3 + opencv3.4 + dlib库编程,打开摄像头,实时采集人脸并保存、绘制68个特征点;2)不在原视频上绘制显示特征点,而是给人脸虚拟P上一付墨镜(提示:找到双眼特征点坐标值,以坐标中心点为圆心,用opencv函数绘制两个圆,并填充黑色)嘿!我是目录一、dlib库介绍二、dlib与opencv下载2.1 dlib2.1.1 下载链接2.1.2 安装2.2 opencv三、用dlib库在眼睛处绘制黑色的实心圆.
2021-11-12 15:16:40
3863
原创 电脑之间用串口传输文件
将两台笔记本电脑,借助 usb 转 rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件,本文为一张图片)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系。嘿!我是目录一、准备工作二、文件传输小小的总结参考文献一、准备工作在做此实验前,需要准备两台笔记本电脑及两个USB接口和两条母对母的杜邦线。两台笔记本上都需要下载串口调试助手。笔主放个百度网盘链接,有需要的自行下载:链接:https://p.
2021-11-12 01:27:10
776
原创 图片上绘制点阵汉字(C++)
在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。嘿!我是目录一、汉字点阵库使用原理1.1 汉字编码1.1.1区位码1.1.2 机内码1.2 点阵字库结构1.3 14 * 14与12 * 12点阵字库1.4 汉字点阵获取二、Ubun.
2021-11-11 22:59:07
2238
原创 STM32采用DMA方式向上位机发送数据
STM32采用串口DMA方式,用115200bps或更高速率向上位机连续发送数据。嘿!我是目录一、DMA1.1 DMA简介1.2 MDA的主要特性1.3 DMA中断特性1.4 传输方式二、串口通信DMA传输完成中断2.1 步骤2.2 代码2.3 实验结果小小的总结参考文献一、DMA1.1 DMA简介DMA的出现大大减轻了CPU的工作量。在硬件系统中,主要由CPU(内核)、外设、内存(SRAM)、总线等结构组成,数据经常要在内存和外设之间,外设和外设之间转移。例如:CPU需要处理从外设采集回来的数.
2021-11-08 22:51:41
3755
1
原创 STM32F103中断控制灯与串口通信
嘿!我是目录一、文章内容提示二、STM32中断2.1 中断概念2.2 NVIC介绍2.3 中断优先级三、DMA参考文献一、文章内容提示学习stm32中断、DMA通信原理和编程方法。使用stm32tubemx和HAL库分别完成以下编程练习:用stm32F103核心板的GPIOA端一管脚接一个LED,GPIOB端口一引脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED亮灯;接低电平时,LED灭灯。采用串口中断方式重做上次的串口通信:一个STM32的USART串口通信程序(汇
2021-11-08 22:19:54
575
原创 网络抓包与HTTP协议
嘿!我是目录一、Wireshark网络封包分析软件1.1 定义1.2 应用1.3 工作流程1.4 时标与过滤器二、Fiddler抓包工具2.1 定义2.2 工作原理三、TCP三次握手3.1步骤参考文献一、Wireshark网络封包分析软件1.1 定义Wireshark(前称Ethereal) :是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵
2021-11-06 23:23:46
1460
原创 线性判别准则(LDA)与线性分类编程(SVM)实践
嘿!我是目录一、内容提示二、线性判别准则(LDA)2.1 LDA简介2.2 LDA实现代码三、SVM3.1 SVM简介3.2 SVM原理四、SVM数据集进行可视化分类4.1 月亮数据集4.1.1 线性SVM4.1.2 多项式核4.1.3 高斯核4.2 鸢尾花数据集4.2.1 多项式核4.2.2 高斯核参考文献一、内容提示学习线性判别准则(LDA)和线性分类算法(支持向量机,SVM)。采用Sklearn库1、编程生成模拟数据集,进行LDA算法练习;2、对月亮数据集进行SVM分类,分别采用线性核、多
2021-11-03 17:29:35
663
原创 决策树挑出好西瓜
嘿!我是目录主要内容提示一、定义1.1 决策树1.2 信息熵二、ID3算法2.1 概念2.2 数据准备2.3 代码实现2.4 使用sklearn实现ID3三、C4.5算法3.1 概念3.2 步骤3.3 代码四、CART算法4.1 概念4.2 步骤4.3 使用sklearn库实现小小的总结参考文献主要内容提示决策树算法利用了信息论的信息熵的计算:在jupyter 下实现针对西瓜数据集的ID3算法代码,并输出可视化结果。用sk-learn库对西瓜数据集,分别进行ID3、C4.5和CART的算法代码实现
2021-10-31 23:22:28
715
3
原创 STMCubeMX生成代码(hal库)实现流水灯
嘿!我是目录一、主要内容提示二、STMCubeMX的使用1. 下载依赖包2. 创建新项目三、 代码四、 烧录五、运行结果小小的总结参考文献一、主要内容提示用hal库,重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。上次流水灯:STM32F103寄存器方式点亮LED流水灯实验所需:STMCubeMX:用来生成代码keil5:编译代码生成hex文件flymcu:将代码烧录到板子里,不知如何操作请参考上次博客STM32F103寄存器方式点亮LED流水灯板子:STM
2021-10-30 19:53:53
856
原创 一个STM32的USART串口通信程序(汇编)
嘿!我是目录一、主要内容二、USART 简介三、程序1. 新建项目2. 添加 .s 文件3. 写入代码4. 烧录四、串口调试五、观察管脚的时序波形1. 配置2. 仿真调试观察波形小小的总结参考文献一、主要内容完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。二、USART 简介USAR
2021-10-29 20:02:45
2824
原创 多元线性回归算法预测房价——Excel、jupyter+sklearn
嘿!我是目录一、多元线性回归1. 定义2. 数据清洗2.1 缺失值处理2.2 异常值(离群点)处理3. 特征共线性问题二、用Excel做房价预测线性回归1. 配置Excel2. 完善数据集2.1 剔除错误数据2.2 处理非数据数值3. Excel做线性回归三、用jupyter+sklearn做线性回归练习1. 打开jupyter步骤2.写入代码2.1 不做数据处理2.2 进行数据处理四、用线性回归模型的统计学库实现小小的总结参考文献一、多元线性回归1. 定义在回归分析中,如果有两个或两个以上的自变量,
2021-10-26 21:03:42
3447
1
原创 STM32F103寄存器方式点亮LED流水灯
嘿!我是目录一、STM32F103系列芯片1. 简介2. 存储器映射3. 寄存器映射二、流水灯1. 流水灯实验详悉2. Keil新建项目3. 用C语言和汇编语言分别做流水灯3.1 C语言3.2 汇编语言小小的总结参考文献一、STM32F103系列芯片1. 简介STM32F系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3[^1]。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K和128K)、大容量(256K
2021-10-22 01:32:42
562
原创 IntelliJ IDEA Mybatis连接MySQL数据库
预览一、JDBC到Mybatis1. JDBC与Mybatis介绍2. Mybatis对比JDBC二、项目实例1. 新建项目一、JDBC到Mybatis1. JDBC与Mybatis介绍JDBC介绍Java数据库连接(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。Mybatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个
2021-10-19 15:21:40
1059
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人