- 博客(44)
- 收藏
- 关注
原创 树莓派assert初步使用练习
用户密码给予用户sudo权限#切换到root用户su#编辑配置文件vi /etc/sudoers#增加配置(按i开始编辑,Esc退出编辑,:wq!保存强制退出), 在打开的配置文件中,找到root ALL=(ALL) ALL, 在下面添加一行#其中xxx是你要加入的用户名称xxx ALL=(ALL) ALL创建一个C程序按ESC,然后输入wq,编译编译命令行:gcc 程序名.c -o 程序名简介C 标准库的 assert.h头文件提供了一个名为 assert 的宏,它可用于验证程序做
2022-06-18 16:35:59 167 1
原创 嵌入式Linux 系统--树莓派3B+的 安装和环境配置
1.树莓派镜像地址:https://www.raspberrypi.org/downloads/raspbian/下载Raspbian Stretch with desktop版2.格式化工具SDCardFormatterv5https://pan.baidu.com/s/14HroWclxg_-b1KHfCmnKww提取码:g76a3.烧录镜像工具Raspberry Pihttps://pan.baidu.com/s/1JpzE_B6ZVo3_RK0oZnwTyA提取码:660d4.
2022-06-18 11:24:24 893
原创 FPGA基于DE2-115平台的VGA显示
VGA(Video Graphics Array)视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输出数据的专用接口。VGA接口共有15针,分成3排,每排5个孔,显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。VGA显示原理:VGA通过引脚的模拟电压(0V-0.714V)显示红绿蓝三种颜色,不同的电压值对应不同的颜色。VGA驱动显示器用的是扫描的方式,一般是逐行扫描。逐行扫描是扫描从
2022-06-11 13:48:30 288
原创 数字电路基础与Quartus-II入门
一、安装Quartus-II软件和Modsim仿真软件1.安装Quartus打开exe安装文件一路默认next下去,安装地址不要有中文空格路径,最后弹出的对话框选择ok2.破解Quartus下载好破解器把文件放在 ******\quartus\bin64 下面启动该破解文件,点击应用,会生成license.bat文件,将其保存到该路径中打开quartus,tool----license-setup,复制一个下来打开license.bat,将其中两行的xxxxxx改为复制的这串,这样
2022-03-14 21:04:12 1015
原创 TensorFlow&Keras入门猫狗数据集识别
一、CNN卷积网络神经介绍1.卷积神经网络结构介绍如果用全连接神经网络处理大尺寸图像具有三个明显的缺点:(1)首先将图像展开为向量会丢失空间信息;(2)其次参数过多效率低下,训练困难;(3)同时大量的参数也很快会导致网络过拟合。而使用卷积神经网络可以很好地解决上面的三个问题。与常规神经网络不同,卷积神经网络的各层中的神经元是3维排列的:宽度、高度和深度。其中的宽度和高度是很好理解的,因为本身卷积就是一个二维模板,但是在卷积神经网络中的深度指的是激活数据体的第三个维度,而不是整个网络的深度,整个
2022-01-13 17:17:05 2666
原创 AD原理图设计与Clion源码工具学习
一、使用Altium Designer软件设计电路图安装AD下载链接:https://pan.baidu.com/s/1gVJre-0tW_T2_oRqclYWAQ ,提取码:fnr9下载元件库链接:https://pan.baidu.com/s/1j8TW4BbuEHMBATg7ZncSTw,提取码:1234打开AD添加芯片放置排针延长引脚线加标签元件旋转,左键点击元件,按空格键旋转90°绘制所有元件二、STM32+W5500的系统电路原理图设计STM32F103C8T
2021-12-25 20:54:29 464
原创 STM32+W5500网络通信
一、W5500模块介绍w5500就是一个以太网模块,这个模块本身集成了tcp/ip协议,mcu只需要通过spi协议读写他的寄存器就可以进行数据交互了,10个引脚中,真正使用的也就只有vcc gnd miso mosi sclk scs 这几个脚,RST和int引脚如果是引用官方的库的话,是不需要的(RST是复位引脚,INT是中断触发引脚)调试工具软件,提取码1234二、用STM32+W5500+modbus协议编写工程代码提取码1234三、代码main函数int main(void){
2021-12-25 20:37:03 648 1
原创 人脸表情识别
一、处理图片使用genki-4k数据集可从此处下载:https://inc.ucsd.edu/mplab/wordpress/index.html%3Fp=398.html下载完后我们需要将人脸检测出来并对图片进行裁剪import dlib # 人脸识别的库dlibimport numpy as np # 数据处理的库numpyimport cv2 # 图像处理的库OpenCvimport os # dlib预测器detector = dlib.ge
2021-12-24 21:42:08 293
原创 数字图像与机器视觉基础2
一、使用和不使用opencv将彩色图像转化为灰度图像具体步骤1.灰度转换:将彩色图片转换为灰度图像,常见的R=G=B=像素平均值。2.高斯平滑和中值滤波:去除噪声。3.Sobel算子:提取图像边缘轮廓,X方向和Y方向平方和开跟。4.二值化处理:图像转换为黑白两色,通常像素大于127设置为255,小于设置为0。5.膨胀和细化:放大图像轮廓,转换为一个个区域,这些区域内包含车牌。6.通过算法选择合适的车牌位置,通常将较小的区域过滤掉或寻找蓝色底的区域。7.标注车牌位置8.图像切割和识别将提前
2021-12-20 19:44:56 83
原创 springboot和netty整合的聊天室--群聊
一、创建项目file-new-project-spring initializr-next然后添加这两个依赖二、代码DemoApplicationpackage com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframewor
2021-12-15 15:21:23 146
原创 基于IO、NIO、Netty的Java网络程序
一、 IO,NIO和Netty简介1.IO(阻塞)同步阻塞I/O模式:当一条线程执行 read() 或者 write() 方法时,这条线程会一直阻塞直到读取一些数据或者写出去的数据已经全部写出,在这期间这条线程不能做任何其他的事情。2.NIO(非阻塞)NIO是一种同步非阻塞的 I/O模型,NIO 与原有的 IO 有同样的作用和目的,但是使用的方式完全不同,NIO 支持面向缓冲区、基于通道的操作。NIO 将以更加高效的方式进行文件读写操作。 JAVA NIO的核心在于:通道(Channel)和缓冲区(
2021-12-14 21:47:01 526
原创 数字图像与机器视觉基础
一、用图画板或其他图像编辑软件(Photoshop)打开一个彩色图像文件,将其分别保存为 32位、16位彩色和256色、16色、单色的位图(BMP)文件,对比其文件大小右击一张图片的属性,查看它的详细信息,现在可以看到它的位深度为24接着我们用电脑自带的画图软件将其保存为不同位图(BMP)文件此时分别右击点开属性查看他们的大小以及位深度此时点开16色的位深度为4,大小600k计算:96012804/8/1024=614400bite,是这么多个字节用ultraEdit打开该图片这些
2021-12-09 21:10:40 314
原创 使用示波器和keil仿真逻辑仪分析串口波形
一、配置仿真先点击魔法棒配置是他们stm32f103的仿真工程文件中新建“debug,ini”文件,在文件中添加代码map 0x40000000, 0x40007FFF read write // APB1map 0x40010000, 0x400157FF read write // APB2map 0x40020000, 0x4007FFFF read write // AHB1map 0x50000000, 0x50060BFF read write // AHB2map 0x6000
2021-12-08 21:24:38 364
原创 以uc/OS为例,将其移植到stm32F103上点亮熄灭LED灯
一、创建项目使用CubeMX建立STM32F103C8的项目配置RCC配置SYS设置PC13为GPIO_Output用于点亮LED灯设置串口设置code generator二、移植ucosIII源码下载源码:提取码是1234打开在网盘下载的源码后新建两个两个文件夹uC-BSP和uC-CONFIG给文件夹uC-CONFIG添加以下文件(从以下路径复制过来)将以下uCOS相关文件复制到HAL工程的MDK-ARM文件夹下打开项目,点击Manage Project Items
2021-12-08 21:01:11 274
原创 编程实现STM32的日历读取、设置和输出
一、时钟RTC实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。实时时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时,还可以工作,需要外加电池供电。1) 晶振晶振一般叫做晶体谐振器,是一种机电器件,晶振是石英振荡器的简称,英文名为Crystal是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成
2021-12-03 15:54:41 335
原创 基于I2C/SPI的温湿度采集与OLED显示
一、I2c通讯协议I2C通讯协议(Inter-Integrated Circuit)引脚少,硬件实现简单,可扩展性强,不需要USART、CAN等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。实现I2C需要两根信号线完成信息交换,SCL时钟信号线,SDA数据输入/输出线。它属于同步通信,由于输入输出数据均使用一根线,因此通信方向为半双工。·I2C最少只需要两根线,和异步串口类似,但可以支持多个slave设备。一个I2C理论上最多可挂载127个设备,但除去保留地址,最多可挂
2021-11-27 18:18:43 3230
原创 游戏客户端编程
一、测试能否ping通服务器打开cmd,输入ping 10.1.230.74,游戏服务器的校园内网IP地址为 10.1.230.74,需要连接校园网接着输入telnet,如果输入telnet提示无效命令,去控制面板–程序–程序和功能–启动或关闭Windows功能,然后按提示勾选,重启电脑输入telnet进入telnet命令界面输入set localecho,打开本地回显,连接服务器,输入命令open 10.1.230.74 3900二、完成客户端的制作客户端框架打开框架大致有如下的组件
2021-11-26 15:58:59 4393
原创 TCP/UDP编程基础
一、TCP协议TCP/IP (Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议。TCP/IP协议在一定程度上参考了OSI的体系结构。OSI模型共有七层,从下到上分别是物理层、数据链路
2021-11-24 17:32:40 1730
原创 网络协议抓包分析与爬虫入门
一、Wireshark抓取疯狂聊天数据包1.疯狂聊天进行操作前需要确定将防火墙全部关闭然后只保留一个网络连接如图所示,只保留了一个WLAN连接,进行疯狂聊天的用户要确保网络连接的是同一个,打开程序,随便输入一个昵称,然后加入一个房间然后就可以一起聊天了2.wireshark抓包此时打开wireshark此时再发送一条信息,我们在wireshark找到destination为255.255.255.255的,可以看到协议为UDP点开查看详细信息就能看到自己发送的聊天信息查看中英
2021-11-20 16:18:27 1179
原创 SVM算法应用与人脸识别数据采集
一、LibSVM练习LibSVM下载地址LibSVM官网下载解压完后按以下路径libsvm-3.25–windows–svm-toy.exe,打开之后先在左边随便点,然后change,右边随便点,点击run,如图。然后保存为txt文件将这个txt文件上传到home page,开始写代码from libsvm.svmutil import *from libsvm.svm import *import scipy.spatial#根据文件路径直接返回要使用的数据格式label,data=
2021-11-18 23:30:28 234
原创 SVM算法与用python3+opencv3.4+dlib库编程提取人脸特征
一、SVM算法1.1、向量机简述简介: 支持向量机(support vector machine, SVM):是监督学习中最有影响力的方法之一。类似于逻辑回归,这个模型也是基于线性函数wTx+b的。不同于逻辑回归的是,支持向量机不输出概率,只输出类别。当wTx+b为正时,支持向量机预测属于正类。类似地,当wTx+b为负时,支持向量机预测属于负类。工作原理:将数据映射到高维特征空间,这样即使数据不是线性可分,也可以对该数据点进行分类。作用:进行线性分类之外,SVM还可以使用所谓的核技巧有效地进行非线性
2021-11-11 23:50:38 2748
原创 串口传输文件与点阵汉字的字模读取与显示
一、连接串口本次实验两个USB TO TTL,将两个USB TO TTL的RX,TX引脚交叉连接,并将两个USB接口接上一台笔记本电脑(这样做是为了模拟两个计算机之间串口传输)二、传输文件双开串口调试助手,我这里可以看到COM8,COM9,波特率这些都默认即可点击任意窗口的右下角的加载文件随便选择一个图片即可然后打开串口,发送数据即可三、汉字点阵字库汉字编码分为区位码和机内码,区位码所有的国标汉字及符号分配在一个 94 行、94 列的方 阵中,方阵的每一行称为一个“区”,编号为
2021-11-10 22:54:29 572
原创 STM32中断与DMA通信编程
一、中断1.什么是中断中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。单片机的中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传输往往采用中断系统。中断系统的应用大大提高了计算机效率。2.中断的过程大致过程中断的发生:当CPU处理某一事件A时,B此时发生,CPU被请求优先处理B中断处理:CPU暂停了A的处理,去处理B了中断返回:处理完B后开始处理A具体过程①接
2021-11-08 21:17:34 670
原创 网络抓包与HTTP协议
一、TCP、HTTP协议1.TCP协议传输控制协议(英語:Transmission Control Protocol,缩写:TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。 在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。 用户数据报协议(UDP)是同一层内另一个重要的传输协议。TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的
2021-11-05 21:27:34 131
原创 线性判别准则与线性分类编程实践
一、线性判别准则(LDA)介绍线性判别分析(Linear Discriminant Analysis,简称LDA): 是一种经典的有监督数据降维方法。LDA的主要思想是将一个高维空间中的数据投影到一个较低维的空间中,且投影后要保证各个类别的类内方差小而类间均值差别大,这意味着同一类的高维数据投影到低维空间后相同类别的聚在一起,而不同类别之间相距较远。二、LDA实现本实验使用随机数据集# 导入要使用的包from sklearn.discriminant_analysis import LinearD
2021-11-05 18:29:14 101
原创 多元线性回归算法预测房价
一、Jupyter编写算法实现1.导入包和数据集import pandas as pdimport numpy as npimport seaborn as snsimport matplotlib.pyplot as pltdf=pd.read_csv('house_prices.csv')df.info();df.head()2.探索变量#异常值处理#定义一个函数outlier_test(iqr&z分数两种方法)def outlier_test(data,column,
2021-11-02 00:21:03 263
原创 决策树挑出好西瓜
一、决策树1.介绍决策树是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法主要算法有:ID3、C4.5、CART2.决策事件处理流程(1)构建策略随着树的增加,结点的熵迅速降低。熵降低的速度越快越好,可以得到高度最矮的决策树(2)决策树决策树的基本流程遵循分而治之的策略(3)伪代码3.原理对于一个分支结点,如果该结点所包含的样本都属于同一类,那么它的纯度为1,而纯度越高越好,尽
2021-10-31 23:07:59 208 1
原创 串口通信实验
一、LED灯的点亮原理1.分析相应的原理图2.使用CubeMX生成相关代码①选择New Project,然后选择芯片类型,这里我所用的是STM32F103C8②配置系统调试接口sys,选择Serial Wire③配置引脚功能在芯片上找到对应的引脚,点击它,选择对应的功能。此处选择的引脚PA5为输出模式。④接着选择GPIO,GPIO相关设置GPIO output level:有low和high两种选择,一般选择lowGPIO mode:推挽输出和开漏输出两者模式,两者模式的区别在于
2021-10-30 14:35:49 859
原创 JDBC到Mybatis
一、创建项目file–new–project这个页面不用修改,直接next选择web–spring web–nextSQL–JDK API, MySQL Driver, mybatis
2021-10-22 16:30:48 62
原创 STM32F103寄存器方式点亮LED流水灯
一、点灯点亮LED灯,需要用到GPIO端口。为了点亮LED灯,需要三个步骤:打开GPIO口的时钟初始化GPIO口(选择推挽输出)设置低电平1.打开时钟gpio地址2.时钟地址二、创建项目按照以下顺序新建一个项目项目创建完后新建一个文件将所需要的启动文件复制到项目目录下(f103c8t6启动文件为startup_stm32f10x_md.s然后将其添加到项目创建完后点击魔法棒output–在create hex file选项打勾然后main.c里写上代码#def
2021-10-18 23:32:47 2687
原创 STM32的C与汇编语言混合编程
一、在keil下c语言调用汇编程序先新建一个main.c以及func.cmain.c里面的代码#include<stdio.h>extern void Init_1(void );int main(){ Init_1(); return 0;}Func.s的代码 AREA My_Function,CODE,READONLY EXPORT Init_1 Init_1 MOV R1,#666 MOV R2,#888 LOOP CM
2021-10-15 16:35:08 141
原创 git入门以及web前端初识
一、git的安装与连接打开https://git-scm.com/downloads,下载Windows版的64位,下载完之后一直按照默认路径进行安装即可二、git的测试打开idea,进入settings后在以下路径找到path to git executable,找到自己git的安装路径,然后gti/bin/git.exe,选择之后点击右边的text进行测试,测试成功能弹出此框,在这个网页学习如何连接在idea上连接githttps://blog.csdn.net/PengZyi/a
2021-10-14 20:13:38 104
原创 JDBC连接MySQL
一、创建数据表创表用Navicat Premium,按照如图路径点开右击表,点击新建表,建议如图所示的表。创建好表之后能看到如图所示的空表二、上传驱动包Java连接MySQL需要安装驱动包,打开http://dev.mysql.com/downloads/connector/j/,自定义安装路径后开始将jar包导进项目中。导入过程如下先将包导入libraries里,然后在modules将包打勾三、测试这样就将连接数据库的包导入进去了,下面是一个小的连接数据库后打印出数据库内容的代码
2021-10-12 21:32:14 76
原创 ARM汇编基础
一、新建工程点击菜单栏project新建一个new μVsion project,自命名后保存二、配置环境接着如图操作勾选CMSIS下的CORE及device的startup在右击target文件如图所示点击接着创建一个arm file最后附上代码三、代码测试运行代码点击魔法棒rebuild后设置断点设置断点后...
2021-09-30 16:46:29 91
原创 Spring Boot 开发入门--- RESTful 接口的 Web服务
创建一个spring boot的web项目创建如下包Count代码package com.example.demo.bean;public class Count { private int count; public int getCount() { return count; } public void setCount(int count) { this.count=count; } }
2021-09-18 20:50:55 75
原创 Spring Boot 开发入门--- helloworld web
创建一个web项目点击左上角file–new–project,创建一个spring initializr,在custom选项输入如图所示等待下载。下载完毕后开始编写代码。右击创建一个controller类,输入以下代码点击run,打开浏览器,输入地址http://localhost:8080/hello进去后便可以看到想要输出的结果。...
2021-09-17 22:09:52 71
原创 Ubuntu与windows下gcc与makefile编写c程序
Ubuntu系统1.打开安装后的Ubuntu,右击屏幕点击在终端打开输入命令 mkdir my_c++ 创建一个名叫my_c++的文件夹用来存放程序文件,然后输入cd my_c++进入该目录,接着分别输入命令vi main1.c,vi sub1.c、sub1.h创建三个程序文件(头文件)编写好代码后输入命令gcc -c sub1.c 将sub1.c转为目标文件.o。转换完毕后的文件如下在终端打开输入命令./main1执行程序,执行结果:Windows环境下运行该cMakefile
2021-09-16 20:04:04 135 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人