自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【神经网络与深度学习(吴恩达)】神经网络基础学习笔记

接下来我们符号化一下表示,首先将x和y放在一起,x表示某张图片的特征向量,y表示分类结果,将所有的样本图片和与其对应的分类结果放在一块,即可组成数量为m的训练集,然后将所有x特征向量按列依次放入一个矩阵中即可组成一个X,表示待分类的图片特征数据矩阵,在Python语言中X.shape = (nx,m),分类完成后,结果矩阵Y,表示所有分类结果数据,在Python语言中Y.shape = (1,m)。一个神经网络的计算都是按照前向或反向传播过程来实现的,首先计算出神经网络的输出,紧接着进行一个反向传输操作。

2025-11-24 16:51:18 261

原创 【STM32】SPI协议及W25Q128的应用(详细注释版)

实验目的读写W25Q128硬件接线代码main.cHAL_Init();/* 初始化HAL库 *//* 设置时钟, 72Mhz *///LED初始化led_init();//串口1初始化//W25Q128初始化printf("打印测试:hello world\r\n");led2_off();led1_off();led2_on();w25q128.c//SPI初始化//使用SPI1//作为主设备。

2025-11-23 17:16:47 368

原创 【STM32】IIC协议及OLED屏幕的应用(详细注释版)

I2C总线,全称Inter-Integrated Circuit(互连集成电路),是一种由Philips(现NXP半导体)公司在1980年代初开发的同步、串行、半双工通信总线。主从关系:主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。数据传送:<1> 如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送。

2025-11-19 23:28:28 774

原创 【神经网络与深度学习(吴恩达)】深度学习概论学习笔记

深度学习”指的是训练神经网络。

2025-11-17 18:30:30 784

原创 【STM32】ADC(详细注释版)

全称:Analog-to-Digital Converter,指模拟/数字转换器。ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。12 位 ADC 是一种逐次逼近型模拟数字转换器(0~4095)。它有多达 18 个通道,可测量 16 个外部和 2 个内部信号源。各通道的 A/D 转换可以单次、连续、扫描或间断模式执行。ADC 的结果可以左对齐或右对齐方式存储在 16 位数据寄存器中。模拟看门狗特性允许应用程序检测输入电压是否超出用户定义的高/低阀值。

2025-11-17 10:59:18 938

原创 【STM32】DMA

令人头秃的描述:DMA(Direct Memory Access,直接存储器访问)提供在外设与内存、存储器和存储器之间的高速数据传输使用。它允许不同速度的硬件装置来沟通,而不需要依赖于CPU,在这个时间中,CPU对于内存的工作来说就无法使用。简单描述:就是一个数据搬运工!!

2025-11-16 16:35:51 840

原创 【QT开发】交叉编译QT程序在ARMLinux平台上运行

本文为自行探索交叉编译QT程序在ARMLinux平台上运行的全过程,用笔记记录学习移植过程以及移植过程中出现的问题和解决的方案,希望可以帮助大家。

2025-11-10 01:44:39 752

原创 【QT开发】自定义按键实现动画滑动按钮效果

本文介绍自定义按钮类实现QT项目中动画滑动按钮的效果,可以移植到不同的QT项目中使用,以下为主要代码,,主要用到了。

2025-11-09 18:38:48 219

原创 【QT开发】Ubuntu搭建QT开发环境

通过如下命令:== /opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh & ==这里的“&”符号代表后台运行,不占用控制命令终端。拷贝so文件到QT相关路径,让QT支持输入中文!通过如下命令启动QT的安装程序,和Windows一样,先让Ubuntu断网。选择语言安装,在窗口中选择Chinese(simplified)配置选择需要安装的项目如下,和Windows差不多。配置apt下载的服务器源,选择阿里。点击应用到整个系统,关闭,重启。下载QT通过如下命令。

2025-11-09 18:33:35 427

原创 【QT开发】天气预报项目(详细注释版)

设置边框弧度设置某方向边框弧度设置背景颜色父控件影响3 窗体无状态栏-关闭设置无状态栏设置左键弹窗关闭功能4 窗口跟随移动实现的逻辑返回数据返回数据6 软件开发网络通信架构6.1 BS架构/CS架构在计算机网络和软件开发中,CS架构(Client-Server Architecture,客户端-服务器架构)和BS架构(Browser-Server Architecture,浏览器-服务器架构)是两种主要的应用程序架构。CS架构(客户端-服务器架构)CS架构是一种典型的两层结构

2025-11-09 18:22:14 935

原创 【QT开发】汽车仪表盘项目(详细注释版)

QPainter 是 Qt 库中用于在屏幕上进行绘画的类。它提供了各种绘制功能,比如画线、画图形、画文本等。初始化 QPainter:首先,您需要一个 QPaintDevice ,比如一个 QWidget 或 QPixmap ,然后使用它来初始化 QPainter 对象。// 假设在 QWidget 的子类中设置画笔和画刷:您可以设置画笔(用于描边)和画刷(用于填充)的颜色、样式等。// 设置画笔颜色为蓝色// 设置画刷颜色为黄色绘制图形。

2025-11-09 17:43:26 875

原创 【STM32】串口通信及相关实验和项目

单工通信:数据只能沿一个方向传输半双工通信:数据可以沿两个方向传输,但需要分时进行全双工通信:数据可以同时进行双向传输同步通信异步通信同步通信:发送和接收双方按照预定的时钟节拍进行数据的发送和接收,双方的操作严格同步。异步通信:双方不需要严格的时钟同步,每个数据块之间通过特定的起始位和停止位进行分隔,接收方可以独立地识别每个数据块。通信速率是指在通信系统中单位时间内传输的信息量,是评估通信系统性能的重要指标之一。定义:比特率是指在通信线路(或系统)中单位时间(每秒)内传输的信息量,即每秒能传输的二进制

2025-10-29 12:34:29 701

原创 【STM32】看门狗

独立看门狗(Independent Watchdog,通常缩写为IWDG)主要作用是主要用于检测外界电磁干扰,或硬件异常导致的程序跑飞问题。IWDG本质上是一个12位的递减计数器。当计数器的值从某个初始值开始递减,并一直减到0时,系统会产生一个复位信号(IWDG_RESET)。CPU在接收到这个复位信号后,会重新启动系统,以确保系统从可能的错误或死锁状态中恢复。在计数器的值减到0之前,如果程序通过特定的“喂狗”操作(即重置计数器的值)来刷新计数器,那么就不会产生复位信号,系统将继续正常运行。

2025-10-28 08:44:39 1509

原创 【QT开发】网络调试助手项目

网络相关的一些基础概念-面试用学习QTcpServer学习QTcpClient学习TextEdit特定位置输入文字颜色学习网络通信相关知识点复习巩固之前UI控件程序运行如下图所示。

2025-10-24 12:36:16 1031

原创 【STM32】Systick与定时器

Systick,即滴答定时器,是内核中的一个特殊定时器,用于提供系统级的定时服务。该定时器是一个24位的递减计数器,具有自动重载值寄存器的功能。当计数器到达自动重载值时,它会自动重新加载并开始新的计数周期。Systick定时器的主要功能包括实现简单的延时、生成定时中断以及进行精确定时和周期定时操作。此外,Systick定时器还可以被用于其他目的,例如作为操作系统的时基(如FreeRTOS),或者用于软件看门狗等系统调度操作。

2025-10-23 10:51:25 548

原创 【QT开发】串口调试助手项目

复刻安信可调试助手,所见即所得。

2025-10-11 12:25:17 339

原创 【QT开发】记事本项目

支持文本创建,打开,保存,关闭的功能UI样式美化添加打开快捷键,添加保存快捷底部显示行列号及文本字符编码Ctrl加鼠标滚轮支持字体放大缩小MainWindows还是WidgetMainWindow:这是一个包含完整菜单栏、工具栏和状态栏的主窗口应用程序框架。它适合于更复杂的应用程序,需要这些额外的用户界面元素来提供丰富的功能和交互。Widget:这通常是一个简单的窗口,没有内置的菜单栏、工具栏或状态栏。它适合于更简单或专用的应用程序,不需要复杂的用户界面组件。

2025-10-11 11:01:32 429

原创 【STM32】中断

NVIC,即Nested Vectored Interrupt Controller(嵌套向量中断控制器),是STM32中的中断控制器。它负责管理和协调处理器的中断请求,是STM32中处理异步事件的重要机制。NVIC提供了灵活、高效、可扩展的中断处理机制,支持多级优先级、多向中断、嵌套向量中断等特性。当一个中断请求到达时,NVIC会确定其优先级并决定是否应该中断当前执行的程序,以便及时响应和处理该中断请求。这种设计有助于提高系统的响应速度和可靠性,特别是在需要处理大量中断请求的实时应用程序中。

2025-09-22 18:25:24 1004

原创 【STM32】时钟树和GPIO

GPIO是通用输入输出端口(General-purpose input/output)的英文简写,是所有的微控制器必不可少的外设之一,可以由STM32直接驱动从而实现与外部设备通信、控制以及采集和捕获的功能。GPIO口可配置为多种输入输出模式,如输入浮空、输入上拉、输入下拉、模拟输入、开漏输出、开漏复用功能、推挽式输出以及推挽式复用功能等。STM32单片机的GPIO被分为很多组,每组最多有16个引脚,不同型号的 MCU 的GPIO个数是不同的。引脚电平:0V~3.3V,部分引脚可容忍5V。

2025-09-06 09:27:20 448

原创 【QT开发】C++类的相关知识

本文主要记录C++中与类相关的知识,比如封装、继承、多态的相关实现,内容不完整,但是足够进行QT的入门开发。

2025-09-02 11:42:31 729

原创 【QT开发】内联函数和Lambda表达式

本文章简述并举例C++内联函数和Lambda表达式的用法与区别。

2025-08-27 13:05:28 787

原创 【嵌入式Linux】基于ARM-Linux的zero2平台的智慧楼宇管理系统项目

人脸识别使用阿里SDK支持Python和Java接口,目的是复习巩固C语言的Python调用,此接口是人工智能接口,阿里云识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴。在常规嵌入式设备负责执行居多,说白的嵌入式设备负责数据采集,然后转发给人工智能识别后,拿到结果进行执行器动作。4. 面包板接线使用以下下脚本可分别测试继电器控制的客厅灯、卧室灯、风扇、烟雾报装置是否正常连接。会依次触发灯的亮灭、电磁锁通断、风扇开关、蜂鸣器的播听及最后读取两次gpio的引进状态。 可通过查看pin6最终确

2025-05-02 08:49:12 1540

原创 【嵌入式Linux】基于OrangePi的系统移植(编译香橙派SDK,交叉编译wiringOP库、工程代码,u-boot和内核)

在之前,都是直接使用gcc对代码进行编译,这对简单的工程是可以的,但当我们遇到复杂的工程时,每次用gcc等编译工具去操作就会显得很低效。因此make工具就出现了, make的出现是为了解决手动编译和链接大型工程的问题,它可以避免重复的工作,提高效率,保证正确性。make工具就根据makefile中的命令进行编译和链接的。

2025-03-27 00:20:31 1809 1

原创 【嵌入式Linux】基于ARM-Linux的智能垃圾分类系统项目

图像处理使用阿里SDK支持Python和Java接口,目的是引入C语言的Python调用,感受大厂做的算法bug,此接口是人工智能接口,阿里云识别模型是通过训练后的模型,精准度取决于训练程度,人工智能范畴,在常规嵌入式设备负责执行居多,说白了就是嵌入式设备负责数据采集,然后转发给人工智能识别后,拿到结果进行执行器动作。在之前实现的代码中, 主函数是单线程执行的, 导致整个代码的可扩展性非常差,比如想加OLED显示或者添加网络控制变得非常复杂,而且执行一次识别开关盖的流程非常长。

2025-03-19 17:05:12 1577

原创 【OpenMv】测距测尺寸

测距: 相同尺寸,距离越近,像素点越多,所以距离与直径像素点个数成反比:测尺寸: 相同距离,尺寸越大,直径像素点越多,所以物体尺寸与直径像素点个数成正比:因此:需要测距的时候,只需要用同一小球,先修改物体的颜色阈值,让OpenMv能够框出小球,再在一个已知距离点打印物体的像素点长度,就可以用求出关系系数K,然后再通过公式打印出距离。需要测量大小的时候,先测出小球的直径,然后在一固定位置(测量任何尺寸必须固定在同一位置)打印小球的直径像素点,再通过公式求出比例系数K1,然后通过公式打印出尺寸大小。

2022-12-06 19:41:08 5047 2

原创 【OpenMv】颜色识别

二、find_blobs函数追踪小球是OpenMV用的最多的功能了,在10分钟快速上手中通过find_blobs函数可以找到色块.我们来讨论一下,find_blobs的细节。这里的参数比较多。red = (xxx,xxx,xxx,xxx,xxx,xxx)blue = (xxx,xxx,xxx,xxx,xxx,xxx)yellow = (xxx,xxx,xxx,xxx,xxx,xxx)img=sensor.snapshot()red_blobs = img.find_blobs([red])col

2022-12-06 19:28:14 6683

原创 【C++】C++实战项目机房预约管理系统

学校有几个规格不同的机房, 由于使用时经常出现“撞车”现象,现开发一套机房预约系统,解决这一问题分别有三种身份使用该程序学生代表: 申请使用机房教师: 审核学生的预约申请管理员: 给学生、教师创建账号机房总共有三件1号机房 — 最大容量20人2号机房 — 最大容量50人3号机房 — 最大容量100人申请的订单每周由管理员负责清空学生可以预约未来一周内的机房使用,预约的日期为周一至周五,预约时需要选择预约时段(上午、下午)教师来审核预约,依赖实际情况审核预约通过或者不通过。

2022-12-02 12:50:31 1419

转载 【C++】演讲比赛流程管理系统

抽签 -> 开始演讲比赛 -> 显示第一轮比赛结果 -> 抽签 -> 开始演讲比赛 -> 显示前三名结果 -> 保存分数。解决方式:在showRecord函数中,开始判断文件状态并加以判断。在speechManager.h中提供退出系统的成员函数。在speechManager.h中添加清空记录的成员函数。在speechManager.cpp中提供具体的功能实现。在管理类speechManager.h中添加成员函数。在main函数分支3选项中,调用清空比赛记录的接口。解决方式:比赛完毕后,所有数据重置。

2022-11-30 23:06:32 365

原创 【C++】黑马程序员-C++提高编程学习笔记

根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VisualStudio。本阶段主要对泛型编程和STL技术做详细讲解,探讨C++更深层的使用。模板就是建立通用的模具,大大提高复用性。模板的特点:函数模板作用:建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。解释:template — 声明创建模板typename — 表面其后面的符号是一种数据类型,可以用class代替T — 通用的数据类型,名称

2022-11-29 21:14:25 1214

转载 【OpenMv】图像处理之灰度和二值化

在图像处理中,用RGB三个分量(R:Red,G:Green,B:Blue),即红、绿、蓝三原色来表示真彩色,R分量,G分量,B分量的取值范围均为0~255,比如电脑屏幕上的一个红色的像素点的三个分量的值分别为:255,0,0。

2022-11-13 21:04:44 7230

原创 【OpenMv】颜色模式之Lab

颜色模式有HSB、RGB、CMYK三种模式,RGB是用于屏幕显示和视频输出,CMYK是用于打印的,HSB是一种直观的观察方法,那Lab颜色模式是干什么的?aLab模式是根据CIE在1931年所制定的一种测定颜色的国际标准建立的。于1976年被改进,并且命名的一种色彩模式。Lab颜色模型弥补了RGB和CMYK两种色彩模式的不足。它是一种设备无关的颜色模型,也是一种基于生理特征的颜色模型。Lab是由一个亮度通道(channel)和两个颜色通道组成的。

2022-11-13 20:33:54 3147

原创 【安卓开发】智能家居APP界面开发

持续更新···

2022-11-08 00:16:05 1681

原创 【C++】黑马程序员-C++核心编程学习笔记

根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode。本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。C++程序在执行时,将内存大方向划分为4个区域内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域​ 代码区:​ 存放 CPU 执行的机器指令代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份

2022-11-08 00:14:36 8026

原创 【C++】C++职工信息管理系统

这是C++核心编程阶段性练习,主要以小项目为载体对于核心部分学过的知识点进行复习巩固,为以后学习提高编程打下基础。

2022-11-06 23:39:03 1193

原创 【C++】C++通讯录管理系统

这是C++基础编程阶段性练习,主要以小项目为载体对于基础部分学过的知识点进行复习巩固,为以后学习核心编程打下基础。运行结果:运行结果:04添加联系人_功能实现运行结果:运行结果:查找代码:运行结果:删除实现代码:运行结果:运行结果:运行结果:运行结果:

2022-10-27 14:13:43 414

原创 【C++】黑马程序员-C++基础语法学习笔记

根据黑马程序员C++课程内容,结合讲义,将自己学习C++的过程中将自己觉得有必要记下的笔记进行整理,方便复习回顾,编程环境为VSCode。编写代码:运行程序:作用: 在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式通常放在一行代码的上方,或者一条语句的末尾,对该行代码说明多行注释: /* 描述信息 */通常放在一段代码的上方,对该段代码做整体说明多行注释快捷键:①注释/取消:Ctrl+Shift+/②注释:Ctrl+K+C③取消注释:Ctrl+K+U作用:给一段指定的内

2022-10-27 13:46:46 1647 1

原创 【Web】ES6学习笔记

ECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估、开发和认可电信和计算机标准。1994 年后该组织改名为 Ecma 国际。ECMAScript 是由 Ecma 国际通过 ECMA-262 标准化的脚本程序设计语言。TC39(Technical Committee 39)是推进 ECMAScript 发展的委员会。其会员都是公司(其中主要是浏览器厂商,有苹果、谷歌、微软、因特尔等)。TC39 定期召开

2022-10-14 20:51:19 2077

原创 【Linux问题】Linux修改文件出现错误E45:“readonly” option is set(add ! to override)退出不了vim

3、若该文件所有都关闭,提示有的人没有关闭,则删除该文件的临时文件则可正常打开、修改、保存。2、该文件没有正确保存退出,正在打开状态,关闭后再保存。如果有root权限,可以输入 :wq!(2)输入 :set noreadonly。1、该错误为当前用户没有权限对文件修改。(3)输入 :wq就可保存退出。

2022-09-30 17:50:04 3637

原创 【问题解决】filezilla 连接不上虚拟机ubuntu(终极解决方案)

法1 : 可以重新安装 ftp(如果你本身这个之前可以,现在不行,可试着重装或直接用法2)法2:我们也可改用ssh模式连接,而这是新装的系统,没有ssh这个服务,也要重新装。两种方法都是实测哦,完美!!!当然还有其他很多方法可以传输文件,这个只针对于 filezilla 而言啦。

2022-09-30 17:31:26 4506 3

原创 【经验总结】keil报错:declaration may not appear after executable statement in block···

今天在keil平台上移植一段STM32代码,编译的时候一直出现报错,找了半天也找不到原因,最后通过百度通过大佬们的博文找到了原因,因为每个keil工程的STM32标准库和MDK环境设置不同,具体错误如下: 解决办法有两种。改变以后如下:这样就没有报错啦。

2022-09-25 10:25:34 13703 18

空空如也

空空如也

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

TA关注的人

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