- 博客(51)
- 收藏
- 关注
原创 PC平台(x86)Linux系统 与 嵌入式(ARM)Linux系统的准备以及远程操作
断言是程序调试很重要的手段,ASSERT( f )在Debug模式下,每次运行到这里后会计算括号中的表达式,如果表达式为0,则中断执行,弹出一个警告框,用户可选择“继续”,“重试”,“忽略”在Release模式下,这句语句不会被编译进代码。ASSERT一般用于程序内部确认参数的正确性,即调用内部函数的时候,要由调用者保证参数的正确,而被调用函数内部,就可以通过ASSERT来检查参数是否满足要求。1。C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做出的假设,并在假设为
2022-06-19 16:30:32
554
1
原创 无需显示屏的VNC Viewer远程连接树莓派
1.树莓派镜像工具下载:Raspberry Pi OS – Raspberry Pi 2.格式化工具:本次使用SDCardFormatterv5,可以选择其他工具。3.镜像烧录工具:本次使用Raspberry Pi,可以选择其他工具。4.VNC Viewer:Download VNC Viewer | VNC® Connect5.远程工具:本次使用putty,可以选择其他工具PuTTY: a free SSH and Telnet client①将SD插入到读卡器中,接着将读卡器插到电脑上。②打
2022-06-19 16:01:26
980
1
原创 基于FPGA的VGA协议实现
VGA就是如今很多显示器上连接主机的信号传输接口。有三排15个引脚。2.显示器的扫描方式:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。行(场)同步信号:电视信号发送端为了使接收端的行扫描与场扫描规律与其同步,在行(场)扫描正常结束后,向接收机发出一个脉冲信号,表示这一行(场)已
2022-06-01 17:16:13
394
原创 verilog状态机练习
任务:1、根据以下描述功能用verilog编写一段代码,并用状态机来实现该功能。(1)状态机:实现一个测试过程,该过程包括启动准备状态、启动测试、停止测试、查询测试结果、显示测试结果、测试结束返回初始化6个状态;用时间来控制该过程,90秒内完成该过程;(2)描述状态跳转时间;(3)编码实现。2、画出可以检测10010串的状态图, 并用verilog编程实现之。操作:1.新建工程:选择仿真:工程信息:2.代码部分:计时器模块://15s脉冲信号mod
2022-05-07 14:22:53
1264
原创 状态机实现流水灯 FPGA实验
一:什么是状态机?状态机的基本要素有 3 个,其实我们在第一节的举例中都有涉及,只是没有点明,它们是:状态、输出和输入。1、状态:也叫状态变量。在逻辑设计中,使用状态划分逻辑顺序和时序规律。比如:设计伪随机码发生器时,可以用移位寄存器序列作为状态;在设计电机控制电路时,可以以电机的不同转速作为状态;在设计通信系统时,可以用信令的状态作为状态变量等。2、输出:输出指在某一个状态时特定发生的事件。如设计电机控制电路中,如果电机转速过高,则输出为转速过高报警,也可以伴随减速指令或降温措施等。3、输入:指
2022-04-25 10:50:02
1596
原创 Ubuntu安装Mysql并查询平均成绩
1:下载并安装Mysql:1.1在官网下载:1.2解压文件:tar -xvf mysql-server_5.7.13-1ubuntu16.04_i386.deb-bundle.tar1.3:安装:libmysqlclient20_5.7.13-1ubuntu16.04_i386.deblibmysqlclient-dev_5.7.13-1ubuntu16.04_i386.deblibmysqld-dev_5.7.13-1ubuntu16.04_i386.debmysql-c.
2022-04-18 13:08:57
960
原创 实现D触发器
一:D触发器介绍:D触发器是一种最简单的触发器,在触发边沿到来时,将输入端的值存入其中,并且这个值与当前存储的值无关。在两个有效的脉冲边沿之间,D的跳转不会影响触发器存储的值,但是在脉冲边沿到来之前,输入端D必须有足够的建立时间,保证信号稳定。D触发器的逻辑符号如图1-1所示。图1-1 D触发器有集成触发器和门电路组成的触发器。触发方式有电平触发和边沿触发两种,前者在CP(时钟脉冲)=1时即可触发,后者多在CP的前沿(正跳变0→1)触发。 D触发器的次态取决于触发前D端的状态,即次态=D。
2022-03-14 20:42:02
2461
原创 Modelsim SE 安装及使用
1.. 下载百度网盘:百度网盘 请输入提取码提取:ifte2、解压安装包,并进行安装进入安装界面,并next进入下一步;3.更改安装程序的位置4同意协议并进行下一步5.添加环境变量二:注册1.勾选修改属性win64 -> mgls.dll -> 去掉只读属性2.拷贝MentorKG.exe 和patch_dll.bat->win64目录3.运行patch_dll.bat文件,生成LICENSE.TXT4.添加环境变量:...
2022-03-13 20:41:02
551
原创 Quartus II 13.1的安装及使用
一:Quartus II 下载:百度网盘:百度网盘 请输入提取码提取:ifte二:安装:1.将文件进行压缩;2.进入安装界面:勾选accept选项3.将文件安装4把下列选项选中next进入下一步4.安装完成三:破解注册:1.破解器使用① 破解器解压缩到 \quartus\bin64,运行可执行文件② 查找到 sys_cpt.dll 文件,然后双击此文件③ 在安装目录下方生成一个“license”文件,并保存2.运行破解器3.运...
2022-03-13 19:40:57
1095
原创 卷积神经网络实现人脸识别微笑检测
一:卷积神经网络介绍:1. 定义:卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一[1-2]。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类(shift-invariant classification),因此也被称为“平移不...
2022-01-16 20:30:03
3845
原创 SVM算法应用综合练习(1)
一、Libsvm实现决策树1.简述:LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数可以解决很多问题;并提供了交互检验(Cross Validation)的功能。该软件可以解决C-SVM、ν-SVM、ε-SVR和ν-SVR等问题,
2022-01-10 22:51:54
177
原创 嵌入式系统程序设计基础--Ubuntu系统使用gcc和Makefile编译c程序
一:使用windows下的编译sub1.h 头文件sub.c文件 ubantu 环境编译a. 用touch 语句创建main.c 和sub1.hb. 用geit打开main1.c,并编写:创建sub1.h头文件以及运用gcc命令二:用markfile方式编译程序a.用touch命令创建mark file文件:...
2022-01-10 22:09:08
656
原创 网络通信编程大作业--深度研究爬虫技术
一:什么是网络爬虫技术?网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤
2022-01-05 17:51:11
6074
原创 Email-FTP-RTSP协议实践研究
一:Email的基本协议:1.SMTP协议:SMTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件客户端必须使用POP3或IMAP。另一个SMTP服务器可以使用ETRN在SMTP上触发一个发送。工作过程建立连接:在这一阶段,SMTP客户请求与服务器的25端口建立一个TCP连接。一旦连接建立,SMTP服务器和客户就开始相互
2021-12-30 21:05:58
705
原创 决策树挑出好西瓜
一:什么是决策树: 决策树(Decision Tree)及其变种是另一类将输入空间分成不同的区域,每个区域有独立参数的算法。决策树分类算法是一种基于实例的归纳学习方法,它能从给定的无序的训练样本中,提炼出树型的分类模型。树中的每个非叶子节点记录了使用哪个特征来进行类别的判断,每个叶子节点则代表了最后判断的类别。根节点到每个叶子节点均形成一条分类的路径规则。而对新的样本进行测试时,只需要从根节点开始,在每个分支节点进行测试,沿着相应的分支递归地进入子树再测试,一直到达叶子节点,该叶子节点所代表的类别即是当.
2021-12-29 20:15:28
856
原创 AD原理图设计与Clion源码工具学习
一:安装Altium Designer:自行百度下载二:下载元件库;百度寻找资源进行下载三:绘制stm32的最小系统的电路原理图:1.新建工程,新建项目File->New->Project->PCB Project2.添加文件:右键点击工程,选择Add new to project,选择Schematic3.开始绘制添加芯片:放置排针:延长引脚线:添加标签:绘制所有元件:二.使用Clion完成STM32...
2021-12-28 20:48:00
174
原创 STM32+W5500以太网模块
一:w5500以太网模块介绍:W5500 是一款全硬件 TCP/IP 嵌入式以太网控制器,为嵌入式系统提供了更加简易的互联网连接方 案。W5500 集成了 TCP/IP 协议栈,10/100M 以太网数据链路层(MAC) 及物理层(PHY),使得 用户使用单芯片就能够在他们的应用中拓展网络连接。久经市场考验的 WIZnet 全硬件 TCP/IP 协议栈支持 TCP,UDP,IPv4,ICMP,ARP,IGMP 以及 PPPoE 协议。W5500 内嵌 32K 字节片上缓存以供以太网包处理。如果你使用
2021-12-25 21:33:52
13307
原创 RT-thread Nano移植
一:CubeMX添加RT-Thread操作系统组件链接:https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc安装RT-Thread:1.操作步骤 (Help -> Manage embedded software packages)\2.添加软件包:3.添加链接:4.添加software packs二:创建工程项目:创建工程选择Nano组件:Softwares...
2021-12-23 17:19:04
1614
原创 基于SVM算法的人脸表情识别
一:下载实验所需要的包:pip install scikit-imagepip install playsoundpip install pandaspip install sklearn二:图片预处理:将人脸检测出来并对图片进行裁剪import dlib # 人脸识别的库dlibimport numpy as np # 数据处理的库numpyimport cv2 # 图像处理的库OpenCvimport os # dlib预
2021-12-22 21:56:32
1797
原创 使用Keil仿真逻辑仪观察引脚电平变化
一:keil仿真打开项目,启动逻辑分析仪选中set up添加引脚和串口:Display Type均设置为Bit点击图标,开始运行代码分析:在工程下添加文件:创建txt文件:map 0x40000000, 0x40007FFF read write // APB1map 0x40010000, 0x400157FF read write // APB2map 0x40020000, 0x4007FFFF read write // A...
2021-12-22 21:39:06
1409
原创 Python Selenium
一:环境搭建安装实验所需包 selenium安装webdrivera.安装驱动b.配置实验搭配环境:点击计算机系统属性----选中环境变量安装webdriver_manager来解决webdriver二:百度进行测试:from selenium import webdriverdriver=webdriver.Chrome('D:\\software\\chromedriver_win32\\chromedriver.exe')#进入网页drive...
2021-12-21 21:07:27
106
原创 数字图象与机器视觉基础2
一:进行图像灰度处理使用OpenCV转换灰度文件:代码展示:import cv2 as cv# 路径为英文image = cv.imread('E:\\md\\Ai\\Car\\Image\\lena.png')# 将图片转为灰度图gray_image = cv.cvtColor(image, code=cv.COLOR_BGR2GRAY)# 显示图片cv.imshow('image', gray_image)# 等待键盘输入,单位是毫秒,0表示无限等待cv.waitKe
2021-12-21 19:44:21
81
原创 基于Web的聊天室
一:创建项目:选择spring initialzr,点击next修改项目名称以及项目版本选中spring web二:参考代码:pom.xml文件:<?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-instance" xs..
2021-12-17 22:34:45
236
原创 基于IO、NIO、Netty聊天程序
一:介绍:IO:阻塞IO网络模型:服务器启动后会进入阻塞状态,等待client连接,每一个client端连接上服务器后,服务器会为每一个客户端起一个线程来处理客户端的需求。服务器的accept()方法、服务器新起的thread中,Socket的read()和write()方法都是阻塞的。NIO-Single Thread模型:NIO单线程模型:采用selector管理的轮询查询模式,selector每隔一段时间都去看一下client端有没有产生需要处理的消息(客户端连接请求、客户端发送数据请求、客户
2021-12-17 20:16:17
582
原创 数字图像与机器视觉基础补充
一:位图文件:什么是位图:计算机能以位图和矢量图格式显示图像。位图简介:图像又称点阵图或光栅图,它使用我们称为像素(象素,Pixel)的一格一格的小点来描述图像。计算机屏幕其实就是一张包含大量像素点的网格。当我们把位图放大时,每一个像素小点看上去就像是一个个马赛克色块。矢量图(Vector):使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。位图和矢量图最简单的区别就是:矢量图可以无限放大,而且不会失真;而位图则不能。像
2021-12-10 22:02:51
2381
原创 /实验-uc/os3多任务与实时日历
一:项目创建选择stm32f103c8二:创建任务://任务控制块static OS_TCB AppTaskStartTCB;OS_TCB LED1TaskTCB;//PA4OS_TCB LED2TaskTCB;//PA5OS_TCB USART1TaskTCB;//串口1//任务堆栈static CPU_STK AppTaskStartStk[APP_TASK_START_STK_SIZE];/* 私有函数原形 -----------...
2021-12-08 20:16:39
118
原创 游戏客户端
一:1.打开vs2019,选择新建项目,选择windows窗体应用模板(NET Framework)2.选中工具箱,添加组件,右键常规---选择项---选中COM组件,选择Windows Media Player背景音乐: private void btnPlay_Click(object sender, EventArgs e) { string s = @"D:\music\f1.mp3"; axWindowsMed.
2021-11-28 16:13:33
2912
原创 基于I2C/SPI的温湿度采集与OLED显示
一:SPI协议:SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。二、汉字点阵
2021-11-26 21:30:34
3106
原创 C#使用TCP/UDP协议通信并用Wireshark抓包分析数据
一:介绍UDP:TCP和UDP的区别Tcp 是 面向连接的 可靠的 流式服务所以Tcp 需要进行三次握手建立连接后,才可以传输用户数据,可靠性是通过应答确认、超时重传机制等保证,还有滑动窗口来进行流量控制。Udp 是 无连接 不可靠 数据报服务所以UDP不需要进行三次握手来建立连接,直接发送数据,不保证可靠交付,不管对方收到还是没有收到TCP和UDP的编程流程TCP编程流程:UDP编程流程:UDP协议的特点:无连接:只知道对端的IP和端口号就可以发送,不需要实现..
2021-11-24 21:56:46
970
原创 SVM深入理解:
SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。一:月亮数据集:1.线性svm:导入包:# 导入月亮数据集和svm方法#这是线性svmfrom sklearn import datasets #导入数据集from sklearn.svm import LinearSVC #导入线性svmfrom matpl...
2021-11-17 21:53:46
838
原创 人脸特征提取
一:dlib库Dlib库是一个机器学习的开源库,包含了机器学习的很多算法,使用起来很方便,直接包含头文件即可,并且不依赖于其他库(自带图像编解码库源码)。
2021-11-13 19:54:45
3526
原创 点阵汉字的读取和显示:
一:汉字点阵库:原理:国家标准信息交换用汉字字符集GB 2312-80共收录了汉字、图形符号等共7445个,其中汉字6763个,按照汉字使用的频度分为两级,其中一级汉字3755个,二级汉字3008个。汉字、图形符号根据其位置将其分为94个“区”,每个区包含94个汉字字符,每个汉字字符又称为“位”。其中“区”的序号由01区至94区,“位”的序号也由01位至94位。若以横向表示“位”号,纵向表示“区” 号,则“区”和“位”构成一个二维坐标。给定一个“区”值和“位”值就可以确定一个惟一的汉字或图形符号..
2021-11-13 15:46:22
1402
原创 SVM算法
一:支持向量机:SVM原理 支持向量机(Support Vector Machine, SVM)的基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大 。SVM是用来解决二分类问题的有监督学习算法,在引入了核方法之后SVM也可以用来解决非线性问题。SVM算法原理SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,即为分离超平面,对于线性可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。...
2021-11-12 21:45:20
1023
原创 网络抓包与HTTP协议
一:TCP协议:传输控制协议(英語:Transmission Control Protocol,縮寫:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。 用户数据报协议(UDP)是同一层内另一个重要的传输协议TCP工作原理:下面以采用TCP/IP协议传送文件为例,说明TCP/IP的工作原理,其中应用层传输文件采用文件传输协议(FTP)。TCP/IP协议的工作流程如下:1.在源主机上
2021-11-07 22:04:40
293
1
原创 线性判别准则LDA与线性分类算法SVM
一:线性判别分析LDA思想:LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的,这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”,如下图所示。我们要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。假设有两类数据,分别为红色和蓝色,如下图所示,这些数据特征是二维的,希望将这些数据投影到一维的一条直线,让每一种类别数据的投影.
2021-11-05 21:32:29
1536
原创 多元线性回归算法预测房价
一:背景介绍:波士顿房价数据集包括多个样本,每个样本包括多个特征变量和该地区的平均房价。房价(单价)显然和多个特征变量相关,不是单变量线性回归(一元线性回归)问题;选择多个特征变量来建立线性方程,这就是多变量线性回归(多元线性回归)问题。房价和多个特征变量相关,本案例尝试使用多元线性回归建模多元线性回归:在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际
2021-11-01 20:04:40
894
原创 串口通信知识点总结
一:串口通讯协议的介绍串口通信协议是指规定了数据包的内容,内容包含了起始位、主体数据、校验位及停止位,双方需要约定一致的数据包格式才能正常收发数据的有关规范。 在串口通信中,常用的协议包括RS-232、RS-422和RS-485二:串口通信的基本原理1)串口在嵌入式系统当中是一类重要的数据通信接口,其本质功能是作为 CPU 和串行设备间的编码转换器。当数据从 CPU 经过串行端口发送出去时,字节数据转换为串行的位;在接收数据时,串行的位被转换为字节数据。2)应用程序要使用串口进行通信,必须在使
2021-10-30 20:29:29
1923
原创 STM32F103C8芯片流水灯
1.keil创建项目:选中project-new uVision project2建立项目并选择芯片,选择如图所示的芯片,并选择ok,在接下来弹出的界面也选择ok
2021-10-22 22:40:40
314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人