自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Vivado创建项目和仿真

Vivado初次使用

2022-09-10 17:29:14 4509 2

原创 SoC 自定义 IP 核--呼吸灯

2022-07-20 16:13:10 502

原创 Soc之按键控制LED

编译后,进行引脚设置,再次编译。,并替换SD卡文件。

2022-07-19 19:56:29 556

原创 SoC之Hello World

2022-07-18 22:20:48 366

原创 嵌入式Linux(树莓派)环境设置

https://www.raspberrypi.org/downloads/raspbian/使用SDCardFormatterv5使用Raspberry Pihttps://www.realvnc.com/en/connect/download/viewer/putty: https://www.chiark.greenend.org.uk/~sgtatham/putty/①将SD插入到读卡器中,接着将读卡器插到电脑上。②打开格式化工具SDCardFormatterv5。③选择你需要格式化的SD卡。

2022-06-19 22:35:35 968

原创 基于FPGA的VGA协议实现

wu

2022-06-10 20:35:06 358 1

原创 FPGA之状态机练习

FPGA之状态机练习一、状态机1二、检测10010串一、状态机1实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程.新建工程后,创建fsm_test.v文件(新建工程可参考Quartus II的使用):module fsm_test( input wire clk, input wire rst_n, output wire [3:0] led); parameter T

2022-05-02 23:47:06 536

原创 基于 NIOSII 软核的流水灯实验

基于 NIOSII 软核的流水灯实验一、硬件设计部分二、软件设计部分1. 启动 Nios II SBT2. 新建工程3. 编写程序一、硬件设计部分首先,在Quartus创建工程:Qsys 系统设计打开Tools下的Qsys:Save:鼠标放在clk_0处点击右键 Edit 或是双击 clk_0 元件,对 Clock 进行时钟设置,设为为 50MHz:添加 CPU 和外围器件:① 添加 Nios II 32-bit CPU:在Library中搜索,Add

2022-04-08 21:07:34 645

原创 Quartus-II 实现D触发器

Quartus-II 实现D触发器一、新建工程二、创建原理图文件三、仿真四、调用D触发器并仿真参考一、新建工程详细可看二、创建原理图文件设计电路图:需要4个nand2 与非门1个not 非门2个input2个output保存:三、仿真新建.vwf文件并加入管脚:选择CLK,产生时钟信号:保存文件后,仿真:四、调用D触发器并仿真新建原理图文件:直接使用D触发器:添加两个input和一个output

2022-03-13 11:42:25 844

原创 QuartusⅡ 13.1 安装

QuartusⅡ 13.1 安装一、下载二、安装三、注册一、下载正点原子百度云:https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA提取码:ifte二、安装解压后,双击安装:Next:accept,Next:选择安装位置,Next:Next:Next:Finish:OK:三、注册注册文件:https://pan.baidu.com/s/16GnGbr4v-EFKF0VZYUArsg提取码:

2022-03-11 21:35:26 1685

原创 Modelsim SE 安装

Modelsim SE 安装一、下载及安装二、注册三、报错及解决参考一、下载及安装百度网盘下载链接:https://pan.baidu.com/s/1a9d-bq9RZmWrRV542X4IEA提取码:ifte下载完成后,根据自己的系统选择相应的版本解压:双击执行,Next:选择安装位置,Next:Agree:Yes:Yes:No:Done:二、注册注册文件:https://pan.baidu.com/s/1RAlQl3CJXZYjb

2022-03-09 20:45:54 942 1

原创 Unity 制作愤怒的小鸟

Unity 制作愤怒的小鸟一、项目准备二、切片三、实现小鸟的拖拽1. 添加并设置Spring Joint 2D2. 编写脚本参考视频: 【SiKi学院Unity】Unity初级案例 - 愤怒的小鸟一、项目准备资源下载: http://www.sikiedu.com/course/134新建工程:选择2D,填写项目名称并选择项目路径:将资源中的Image和Music复制到项目文件夹中:二、切片选择猪和鸟的第一章图片,将其Sprite Mode改为Multiple并App

2022-01-15 14:59:24 12426 4

原创 aseprite编译

aseprite编译一、依赖二、编译三、使用参考一、依赖CMake 3.14及以上版本Ninja https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-win.zip ,直接解压即可VS2019C++的桌面开发Windows 10 SDK (10.0.1.18362.0)Aseprite 源码 https://github.com/aseprite/aseprite/releases

2022-01-13 01:16:37 917

原创 SMTP实践

SMTP实践一、Email1. 协议2. QQ发送邮件3. POP二、FTP/HTTP1.1协议1. FTP协议2. HTTP1.1协议3. Ubuntu配置Ftpd服务1. 安装VSFTPD2. 图片拼接3. 文件分割与粘合参考一、Email1. 协议SMTPSMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件

2021-12-30 13:06:18 2016 5

原创 STM32之W5500网络通信

STM32之W5500网络通信一、W5500二、DHCP三、modbus四、实现web服务参考一、W5500Niren_W5500模块是一款基于WIZnet W5500芯片的以太网模块,是泥人电子继 Niren_W5100模块后设计的一块性能更好、性价比更高的以太网模块。模块集成硬件化TCP/IP协议:内部32K字节存储器作TX/RX修改main.c代码如下:修改以太网本地ip地址:SPI代码:void SPI_Configuration(void){ GPIO_Ini

2021-12-26 15:39:23 2707 2

原创 AltiumDesigner的简单使用

AltiumDesigner的简单使用一、新建工程二、绘制参考一、新建工程点击File->New->Project->PCB Project新建PCB项目。右击工程,Add new to project,选择Schematic。二、绘制导入固件库:添加芯片:绘制原理图:参考https://www.bilibili.com/video/BV1fK4y1x7GV?p=2AltiumDesigner和Clion工具学习...

2021-12-22 15:33:38 634

原创 SVM实现人脸识别

一、训练# 导入包import numpy as npimport cv2import dlibimport random#构建随机测试集和训练集from sklearn.svm import SVC #导入svmfrom sklearn.svm import LinearSVC #导入线性svmfrom sklearn.pipeline import Pipeline #导入python里的管道import osimport joblib#保存模型from sklearn.prepr

2021-12-19 14:56:55 3840

原创 RT-thread Nano移植

RT-thread Nano移植一、添加Nano软件包二、新建工程三、代码编写参考一、添加Nano软件包RT-Thread Nano软件包地址:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc打开CubeMX,选择Help下的Manage embedded software packages:选择From Url...:点击New,并添加上述的Nano软件包地址https://www.rt-threa

2021-12-13 22:48:50 1028

原创 Springboot+netty实现Web聊天室

Web聊天室的实现一、项目的创建一、项目的创建新建Spring项目:选择JDK版本:选择Spring Web:项目名称和位置的设置:

2021-12-06 15:09:50 1667 3

原创 Python 人脸表情识别

人脸表情识别一、图片预处理二、数据集划分三、识别笑脸四、Dlib提取人脸特征识别笑脸和非笑脸参考环境搭建可查看Python人脸识别微笑检测数据集可在https://inc.ucsd.edu/mplab/wordpress/index.html%3Fp=398.html获取数据如下:一、图片预处理import dlib # 人脸识别的库dlibimport numpy as np # 数据处理的库numpyimport cv2 # 图像处理

2021-12-05 21:37:00 40195 24

原创 OpenCV相关操作

OpenCV相关操作一、OpenCV部分操作1. 图片转灰度一、OpenCV部分操作1. 图片转灰度不使用OpenCV:

2021-12-04 13:02:12 6970

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

数字图像与机器视觉基础(1)一、图片各种格式的对比二、用奇异值分解对图片进行特征值提取(降维)处理三、使用开闭运算(腐蚀-膨胀),检测硬币和细胞的个数四、条形码检测五、总结参考一、图片各种格式的对比以Lean图片为例,将其用画图工具转换为256色、16色、单色的位图(BMP)文件,并比较大小将该图片转换为.jpg、.png、.bmp、.gif,并比较大小:查看文件头:Lena.bmp:Lena-16.bmp:Lena-24.bmp:Lena-256.bmp:Le

2021-12-03 15:24:49 5727

原创 Python Selenium练习(百度、名言、京东)

python selenuim练习 一、打开百度并进行搜索二、爬取名人名言1. 爬取一页2. 爬取5页3. 数据储存4. 总代码参考关于selenium的配置可查看 B站爬虫教程一、打开百度并进行搜索打开百度:from selenium.webdriver import Chromeweb = Chrome()web.get('https://www.baidu.com')在 开发者工具 中找到该输入框:

2021-12-02 17:33:11 1896

原创 IO、NIO和Netty

IO与NIO一、IO1. IO特点2. 代码实现二、NIO1. NIO特点2. 代码实现三、Netty1. 特点2. HelloWorld案例四、总结参考一、IO1. IO特点1.代码执行时会存在两个阻塞点:server.accept(); 等待链接inputStream.read(bytes); 等待输入2.单线程情况下只能为一个客户端服务3.用线程池可以有多个客户端连接,但是非常消耗性能4.使用传统的I/O程序读取文件内容, 并写入到另一个文件(或Socket),

2021-12-01 15:38:07 838

原创 C#之?、? ?

一、?int? x = null;即可以为null的基础类型,以T?表示,同样可以使用泛型Nullable<T>表示:bool? b = null;Nullable<float> f = null; C# 8.0 引入了可为空引用类型功能。二、??int y = x?? 12;以上句代码为例,若x为null,则返回12;若x不为null,则返回x因此,当某个方法的参数的默认值为某个变量时,可用以下方法实现:void func(int? x = nul

2021-11-30 13:09:38 269

原创 STM32之时钟RTC

STM32之时钟RTC一、RTC1. 特征2. 原理框图3. 具体流程4. 时钟选择5. 复位过程6. 中断二、Cube工程创建三、代码编写参考一、RTCRTC,即Real Time Clock,实时时钟。RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC实

2021-11-29 22:06:14 1095

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

基于HAL库移植uC/OS-III一、获取uC/OS-III源码二、创建STM32Cube工程三、复制uC/OS-III文件到工程文件夹四、工程组件和头文件路径的添加1. 工程分组的添加2. 添加文件到分组3. 添加头文件路径五、文件内容的修改1. 启动文件2. app_cfg.h3. includes.h4. bsp.c和bsp.h5. main.c6. lib_cfg.h一、获取uC/OS-III源码进入 Micrium 公司官网下载中心:http://micrium.com/downloadc

2021-11-26 19:50:30 3127

原创 STM32之OLED屏显示数据

OLED屏显示数据一、SPI二、代码编写1. 显示中文2. 文字滚动3. 显示温湿度4. 运行结果三、总结参考一、SPISPI(Serial Peripheral Interface)就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。上升沿发送、下降沿接收、高位先发送。上升沿到来的时候,s

2021-11-24 16:57:23 3197 3

原创 C#实现端口扫描器

端口扫描器一、新建项目并设置界面二、单线程实现端口扫描1. 编写代码2. 运行结果三、多线程实现端口扫描1. 编写代码2. 运行结果三、总结参考一、新建项目并设置界面新建项目:选择Windows窗体项目应用(.Net Framework):设置项目名和路径:新疆项目如下:设置界面: 将tbShow设置为只读:二、单线程实现端口扫描1. 编写代码双击按钮,编写其点击事件:using System;using System.Collections

2021-11-21 20:40:52 853 1

原创 C#使用套接字进行数据传输

C#使用套接字进行数据传输一、Socket、TCP、UDP1. Socket2. TCP3. UDP二、C#实现UDP套接字发送信息1. 控制台显示信息2. 实现UDP套接字发送信息参考一、Socket、TCP、UDP1. Socket所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,

2021-11-21 20:38:55 1504

原创 stm32基于I2C协议用AHT20采集温湿度数据

AHT20采集温湿度数据一、I2C总线协议1. 物理层2. 协议层二、AHT20采集温湿度数据三、总结参考一、I2C总线协议I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设备之间的SCL和SDA线都是线与关系。I2C总线上扩展的器件的数量主要由电容负载来决定,其负载能力为400pF。I2C总线具有极低的电流消

2021-11-21 15:16:30 543

原创 C#编写网游客户端

编写网游客户端一、项目初步设置1. 新建项目2. 界面设计二、连接服务器一、项目初步设置1. 新建项目新建一个WIndows 窗体应用(.Net Framework):设置项目名称和位置:2. 界面设计右击工具箱内的常规,点击选择项:勾选COM 组件下的Windows Media Player:界面如下:其中,各个控件命名:Textbox —— 2个(tbShow、tbInput)Button —— 3个(btnSend、btnEnter、btnExit)Pi

2021-11-21 00:07:17 3813

原创 LibSVM制作鸢尾花数据集

LibSVM制作鸢尾花数据集一、下载LibSVM二、构建数据集三、总结参考一、下载LibSVM在https://www.csie.ntu.edu.tw/~cjlin/libsvm/中下载:下载解压后,将该文件复制到对应的python环境下的 .../Lib/site-packages/ 目录下。然后,在目录libsvm和目录libsvm/python/下,新建一个空文件,命名为 __init__.py。二、构建数据集from libsvm.svmutil import *f

2021-11-17 15:30:48 755 1

原创 wireshark抓取聊天网络数据包

wireshark抓取聊天网络数据包一、实验任务二、实验步骤一、实验任务据包。在两台及两台以上的电脑(已知IPv4地址)上运行 “疯狂聊天室”程序,通过wireshark抓包:1)分析此程序网络连接采用的是哪种协议(TCP、UDP)和什么端口号?2)试着在抓取包中找到窃取到的聊天信息 (英文字符和汉字可能经过了某种编码转换,数据包中不是明文)3)如果是网络连接采取的是TCP,分析其建立连接时的3次握手,断开连接时的4次握手;如果是UDP,解释该程序为何能够在多台电脑之间(只有是同一个聊天室编号

2021-11-16 23:59:59 2709 2

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

Dlib实现人脸识别数据集的建立一、存储人脸特征图像二、采集对于特征点数组dlib安装可参考python3.7添加dlib模块一、存储人脸特征图像存储20张人脸特征图像:import cv2import dlibimport osimport sysimport random# 存储位置output_dir = './person/person1'size = 64 if not os.path.exists(output_dir): os.makedirs(o

2021-11-13 17:43:51 1371

原创 Python爬虫练习(爬取OJ题目和学校信息通知)

爬取OJ题目和学校信息通知一、爬取南阳理工OJ题目1. 初步分析2. 代码编写一、爬取南阳理工OJ题目爬取网站:http://www.51mxd.cn1. 初步分析通过切换页数可发现,第n页网址为:http://www.51mxd.cn/problemset.php-page=n.htm我们需要爬取其题号,难度,标题,通过率,通过数/总提交数:右击查看网页源代码:在其中 Ctrl + F 搜索该页的某一个题目(此处以三国志为例):能够搜索到,说明此数据不

2021-11-11 17:26:04 3506 1

原创 串口之间的文件传输

串口之间的文件传输一、实验概述二、实验详情三、总结参考一、实验概述将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑。二、实验详情连线:选择相同波特率:选择文件:传输方设置:接收方设置:发送中:接收中:接收放保存文件:将得到的.dat文件修改为.png后,得到了正确的文件:传输时间大约7.3秒:

2021-11-06 12:42:47 609 1

原创 C++在图片上叠加汉字

这里写目录标题一、汉字点阵字库原理1. 汉字编码1.1 区位码1.2 机内码2. 点阵字库结构2.1 点阵字库存储2.2 16*16 点阵字库2.3 14\*14 与 12\*12 点阵字库3. 汉字点阵获取3.1 利用区位码获取汉字3.2 利用汉字机内码获取汉字一、汉字点阵字库原理1. 汉字编码1.1 区位码在国标GD2312—80中规定,所有的国标汉字及符号分配在一个 94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为 01 区到 94 区,每一列称为一个“位”,编号为01 位

2021-11-05 12:58:23 2188

原创 Python之人脸特征提取

Python之人脸特征提取一、安装dlib及OPENCV1. dlib安装2. 安装opencv二、绘制人脸的68个特征点三、绘制黑色实心圈三、总结参考一、安装dlib及OPENCV1. dlib安装由于本文使用的python版本为3.8,因此直接使用cmd安装:pip install dlib-19.19.0-cp38-cp38-win_amd64.whl2. 安装opencvpip3 install opencv_python二、绘制人脸的68个特征点所需.dat文件

2021-11-02 20:42:47 4740

原创 STM32之DMA实现串口通信

DMA实现串口通信一、DMA二、新建项目三、编写代码及运行结果四、总结参考一、DMADMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工作来说就无法使用。DMA 传输将数据从一个地址空间复制到另外一个地址空间。当CPU 初始化这个传输动作,传输动作本身是由 DMA 控

2021-11-02 11:56:55 2337

空空如也

空空如也

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

TA关注的人

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