自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 问答 (1)
  • 收藏
  • 关注

原创 【深度学习】—CNN卷积神经网络 从原理到实现

本文从原理、实现到结果分析详细介绍了卷积神经网络和 LeNet-5 模型。卷积、激活函数和池化操作是 CNN 的核心。LeNet-5 是 CNN 的经典结构,适用于简单任务。PyTorch 提供了强大的工具链,帮助快速构建和训练模型。参考文献。

2024-11-29 11:23:04 1534

原创 【机器学习】—逻辑回归

hθσθ0θ1x1θ2x2hθσθ0​θ1​x1​θ2​x2​其中,σz11e−zσz1e−z1​是sigmoid函数。本文通过一个简单的例子,详细介绍了如何使用Python和PyTorch实现逻辑回归模型。通过生成数据、定义模型、定义损失函数、训练模型和可视化结果,我们展示了逻辑回归的基本流程。希望本文对读者理解逻辑回归有所帮助。

2024-11-28 15:42:52 759

原创 【机器学习】—PCA(主成分分析)

主成分分析(PCA)是一种统计方法,它可以通过正交变换将一组可能相关的变量转换为一组线性不相关的变量,这些变量称为主成分。PCA经常用于降维,数据压缩,以及在数据挖掘中发现数据结构。

2024-11-24 22:07:40 647

原创 【机器学习】--线性回归简介

线性回归是机器学习中最基础、最简单的回归算法之一。它假设输入变量(特征)与输出变量(目标值)之间存在线性关系。

2024-11-23 15:18:48 634 1

原创 C++—求1-1000内的水仙花数

在数学中,水仙花数也被称作自恋数或者阿姆斯壮数,它是指一个n位数,其各位数字的n次方之和等于该数本身。对于三位数而言,也就是满足条件 $ \sum_{i=1}^{3} a_i^3 = N $ 的数,其中 $ N $ 是一个三位数,$ a_i $ 是 $ N $ 的每一位数字。在1到1000之间,水仙花数只有四个:153、370、371和407。下面是一个简单的C++程序,可以用来找出这些数。函数负责检查传入的整数是否为水仙花数。遍历1到1000内的所有数,并打印出水仙花数。这些就是我们要找的水仙花数。

2024-01-07 15:20:27 785

原创 输出1-100内的质数

在计算机编程中,质数的计算是一个基础且重要的问题。质数(Prime number),指在大于1的自然数中,除了1和此自然数自身外,无法被其他自然数整除的数。在这篇博客中,我将使用C++语言来实现一个简单的程序,用于找出1到100之间的所有质数。

2024-01-05 22:25:41 771

原创 使用FreeRTOS在任务中调用vTaskDelay()导致程序卡死

在使用 FreeRTOS 进行嵌入式开发时,是一个非常有用的函数,它允许任务暂停执行一段时间,以释放 CPU 资源和避免不必要的忙等待。然而,有时候开发人员可能会遇到一个问题:当在任务中调用时,程序似乎“卡死”或“挂起”,任务不再运行。

2023-12-21 10:35:33 3936

原创 计算机网络——ARP协议

ARP(Address Resolution Protocol)是一种网络协议,用于将IP地址映射到物理硬件地址(如MAC地址)。它在局域网中起到了重要的作用,帮助设备确定目标设备的物理地址。

2023-12-13 15:32:40 214

原创 计算机网络——IPv4和IPv6

IPv6相对于IPv4来说有更多的地址空间、更好的安全性和支持更大的数据包传输等优势。但由于历史原因,IPv4仍然是互联网上广泛使用的协议之一。当谈论IPv4和IPv6时,它们是互联网通信所使用的两种不同的协议。

2023-12-13 14:42:08 99

原创 【嵌入式】基于HAL库的STM32F103C8T6移植uCOS

实验前言:本实验旨在基于HAL库的STM32F103C8T6单片机上移植uCOS(微型实时操作系统),通过实践掌握嵌入式开发中操作系统的移植和应用。在现代嵌入式系统中,应用程序往往需要同时处理多个任务,并且需要实时性能和可靠性,这就需要使用实时操作系统来管理任务和资源。STM32F103C8T6是一款基于ARM Cortex-M3内核的高性能单片机,具有丰富的外设资源和较大的存储空间。HAL库是ST公司为STM32系列单片机提供的一套硬件抽象层库,可以方便地进行外设驱动和功能开发。

2023-11-22 20:02:11 301

原创 【嵌入式】STM32进阶-OLED显示时间+温度和湿度

在本次实验中,我们将学习如何使用STM32微控制器和OLED显示屏,实现显示时间、温度和湿度的功能。这个应用场景在很多项目中都非常常见,例如室内温湿度监测、气象站等。在现代生活中,对时间、温度和湿度的监测和显示具有重要的意义。无论是在家庭、办公室还是工业环境中,了解当前的时间和环境条件都是必要的。通过将这些信息实时显示在OLED屏幕上,我们可以方便地获取这些数据,从而更好地管理和调整我们的生活和工作。在过去,通常需要使用多个独立的设备来获取这些信息,例如时钟、温度计和湿度计等。

2023-11-20 16:31:41 4526

原创 【嵌入式】STM32进阶-RTC日历读取,设置和输出

实验前言:在嵌入式系统和物联网应用开发中,STM32微控制器因其高效性能和广泛的应用支持而受到开发者的青睐。实时时钟(RTC)是一个重要的外围设备,它可以在微控制器休眠时保持计时,并在唤醒时进行日期和时间的读取。本实验将介绍如何使用STM32微控制器读取、设置和输出RTC日历。通过本实验,我们将学习如何在STM32上配置RTC模块,如何读取和解析RTC日历数据,此外,我们还将探讨如何通过编程方式设置RTC日历数据,以便在需要时对时间进行精确控制。

2023-11-20 14:32:26 1621 2

原创 【嵌入式】点阵汉字的字模读取与显示

在嵌入式系统中实现点阵汉字的字模读取与显示是一项重要的技术,它可以实现汉字的动态显示和交互功能。随着智能化应用的不断发展,汉字显示在各个领域中扮演着重要的角色,从工业控制到智能家居,从智能手表到智能车载系统,汉字显示都在为用户提供更加友好和直观的信息交互体验。过去,通过硬件方式实现点阵汉字的显示需要使用大量的存储空间和复杂的电路设计。然而,现在的嵌入式系统已经具备了足够的计算能力和存储资源,可以通过读取字模数据并进行适当的处理,实现简洁高效的点阵汉字显示。

2023-11-11 14:13:03 750 1

原创 串口发送文件简单示例

实验前言:本实验旨在演示如何通过串口发送文件。串口通信是一种常见的数据传输方式,可以用于将文件从一个设备发送到另一个设备。在本实验中,我们将使用一个发送端和一个接收端来实现文件的传输。发送端的任务是读取文件内容,并通过串口将数据发送给接收端。接收端则负责接收串口数据,并将接收到的数据写入到目标文件中。两台支持串口通信的设备(如计算机、单片机等)串口连接线(如USB转串口线)发送端和接收端的开发环境(如Arduino IDE、Python等)

2023-11-11 13:31:55 2107 1

原创 STM32进阶-OLED屏幕模块

实验前言:在当今的嵌入式系统开发领域,STM32微控制器因其强大的性能和广泛的应用范围而受到广泛应用。为了进一步扩展其应用范围,我们常常需要与各种外部设备进行交互。其中,OLED屏幕模块作为一种高分辨率、低功耗的显示设备,能够为我们提供丰富的图形和文本信息。在本实验中,我们将探讨如何将OLED屏幕模块与STM32微控制器进行连接,并实现基本的信息显示。通过这个实验,我们期望能够更深入地理解OLED屏幕的工作原理,掌握其与STM32的接口技术,为今后的项目开发提供实践经验。

2023-11-11 12:04:16 2612 1

原创 STM32开发实战—基于I2C协议的AHT20温湿度传感器的数据采集

在嵌入式系统和物联网领域,STM32微控制器因其高效性能和广泛的应用支持而受到开发者的青睐。为了进一步扩展其功能,我们可以通过添加外部传感器来实现更多的数据处理和控制功能。AHT20温湿度传感器是一种常见的环境监测设备,它可以通过I2C协议与STM32微控制器进行通信,从而实现对环境温湿度数据的采集。本实验将介绍如何使用STM32微控制器和AHT20温湿度传感器进行基于I2C协议的数据采集。

2023-11-09 19:08:23 1531 1

原创 STM32进阶之HC-SR04超声波测距

本实验旨在学习和理解HC-SR04超声波测距模块的工作原理,并利用stm32F103单片机完成一个超声波测距方案。HC-SR04超声波测距模块是一种常用的距离测量传感器,通过发送超声波脉冲并接收其回波来测量物体与传感器之间的距离。HC-SR04超声波测距模块是一种常用的距离测量传感器,广泛应用于物体测距、障碍物检测、智能车导航等领域。它通过发送超声波脉冲并接收其回波来测量物体与传感器之间的距离。

2023-11-02 11:27:17 337 1

原创 STM32定时器&PWM应用编程

实验前言:本实验旨在深入了解STM32定时器的工作原理,并掌握使用定时器生成脉宽调制(PWM)信号的方法。STM32定时器是一种非常重要的外设,可用于实现定时、计数、捕获、比较和PWM等功能。在本实验中,我们将使用STM32开发板和相关的开发环境,通过编程配置定时器和PWM输出,实现对LED灯的亮度控制。首先,了解STM32定时器的基本概念和工作原理。定时器通常由一个或多个计数器、预分频器和控制寄存器组成。通过配置这些寄存器,我们可以实现不同的定时和计数功能。掌握定时器的初始化和配置方法。

2023-11-01 11:35:58 619 1

原创 STM32—基于中断/DMA方式的串口通信

STM32是一款基于ARM Cortex-M处理器的32位微控制器系列,具有丰富的外设和强大的性能,广泛应用于嵌入式系统开发。串口通信是嵌入式系统中常用的通信方式之一,可以实现与外部设备的数据交互。本实验旨在介绍如何在STM32微控制器上使用中断和DMA(直接内存访问)方式进行串口通信。中断方式通过使能串口接收中断,当接收到数据时,通过中断服务函数进行数据处理。DMA方式则通过配置DMA通道,实现数据的直接传输,减轻CPU的负担,提高通信效率。

2023-10-29 22:42:13 628 1

原创 链路层分析解答题

再用一台8口交换机SW0将集线器(端口H3)和三台48口交换机(SW1的端口S1-48、SW2的端口S2-48、SW3的端口S3-48)分别连接在自己的端口S0-1、S0-2、S0-3、S0-4。假定依次发生以下数据帧发送事件(除非特别说明,默认同一时刻其它计算机不发送数据帧),请你分析描述该发送事件前、中、后发送者会做什么,其它设备(交换机、集线器、PC、服务器)中的哪些会收到数据帧,收到后会进行怎样的处理,及其原因。你的PC将这一帧发送到交换机SW2的端口S2-2(假设这是你的班级计算机连接的端口)。

2023-10-26 19:32:41 205

原创 STM32串口通信入门

本实验旨在通过STM32微控制器实现串口通信功能。串口通信是一种常见的通信方式,广泛应用于各种嵌入式系统和物联网设备中。通过串口通信,我们可以实现与外部设备的数据传输和交互。本实验将使用STM32微控制器和一台计算机进行串口通信。我们将通过配置STM32的串口模块,并编写相应的程序,实现STM32与计算机之间的数据传输。配置STM32的串口模块:配置串口的波特率、数据位、停止位和校验位等参数。编写STM32的程序:通过编写适当的代码,实现STM32接收和发送数据的功能。

2023-10-23 09:36:07 627 2

原创 STM32中断和基于HAL库的LED流水灯

随着科技的不断发展,LED技术在日常生活和工业生产中的应用越来越广泛。其中,LED流水灯作为一种重要的LED显示技术,被广泛应用于各种场景。本实验旨在探究LED流水灯的效果,并通过实践了解相关的控制技术。LED流水灯是一种由多个LED灯珠组成的阵列,通过控制每个灯珠的亮灭时间,实现一种流动的光效。这种显示方式不仅美观大方,而且具有较高的实用价值。例如,在商场、酒店、写字楼等场所,LED流水灯可以用来展示广告、标语或通知等信息;在城市道路的路灯、警示牌等场所,LED流水灯也可以发挥重要的作用。

2023-10-18 22:09:06 916 1

原创 基于标准外设库的LED流水灯

随着科技的不断发展,单片机技术在智能化电子产品中的应用越来越广泛。LED流水灯作为单片机应用的一种典型案例,可以用来模拟实际产品中的动态显示效果。本次实验旨在通过基于标准外设库的LED流水灯设计,对单片机进行实践操作,并深入了解其工作原理和实现方式。LED流水灯实验是基于STM32F103标准外设库的一个基础实验,通过这个实验,我们可以了解如何使用STM32F103的标准外设库来控制LED灯的亮灭和模式。STM32F103标准外设库提供了对芯片上各种外设的控制能力,包括GPIO(通用输入输出)外设。

2023-10-10 19:00:07 809 2

原创 简易的变量存储位置解析

Ubuntu系统中,全局/静态变量存储在数据段,局部变量存储在栈中STM32中,全局变量存储在FLASH区,静态变量存储在RAM区,局部变量存储在堆栈中Cortex-M架构中,程序代码和常量存储在FLASH区,静态数据存储在RAM区,堆栈也在RAM区本报告通过实际程序验证,对比分析了不同平台下C语言变量的存储位置,加深了对存储器分配的理解。

2023-10-04 20:39:22 227 1

原创 gcc生成静态库.a和动态库.so

链接方式:静态库(.a):编译时链接,程序链接静态库后,静态库中的代码和数据会直接复制到程序中,成为程序本身的一部分。动态库(.so):运行时链接,程序在运行时才会加载动态库,动态库中的代码和数据不会加入到程序中,而是在内存中单独存在。大小:静态库体积较大,因为其中的代码数据直接加入到程序中。动态库体积较小,只包含函数名和引用信息。更新:静态库更新需要重新编译链接整个程序。动态库更新只需要更新.so文件,不影响已编译好的程序。

2023-09-29 11:02:37 201

原创 STM32F103的流水灯点亮版本1(寄存器地址操作)

STM32最小系统板LED流水灯实验报告前言本次实验是利用STM32最小系统开发板实现LED流水灯的实验。STM32最小系统开发板采用STMicroelectronics生产的STM32F103C8T6微控制器,集成了丰富的外设资源,是一款非常适合学习和应用开发的低成本单片机开发板。实验的目的是了解STM32单片机的GPIO输出功能,并利用Proteus软件设计原理图并进行仿真,验证设计是否正确。了解STM32最小系统开发板的主要电路结构;

2023-09-26 22:34:37 483

原创 嵌入式(STM32)学习路线和建议

学习嵌入式,首先需要准备一块STM32单片机开发板,常见的有STM32最小系统开发板、STM32F4开发板等。选择开发板时需要考虑单片机类型、外设资源是否满足需求等因素。此外,还需要准备USB数据线、电源供应等辅助设备。结合理论与实践。理论知识是基础,但如果不运用实际项目实践就很难真正掌握。采取"学习一点实践一点"的方法,理论和实践互相促进。从易到难学习单片机内外设。先学习简单外设如GPIO、串口,然后逐步增加难度如IIC、SPI等。掌握基础再学习高级外设。多学习例程,重在理解原理。

2023-09-25 11:01:38 5072 2

原创 STM32/51单片机开发编程入门(以点亮一个LED为例子)

单片机是微控制器的核心部件,它可以控制外围电路完成各种功能。单片机编程是学习单片机应用的基础。本实验将结合主流的嵌入式开发软件(Proteus和Keil),以及结合STM32单片机来完成一个简单的点亮LED的任务,从而入门STM32单片机的编程。STM32是目前应用最广泛的32位微控制器之一。它采用ARM内核,性能强大,资源丰富。本实验选择STM32F103C8T6作为开发板,它内置一个RGB彩色LED。通过编写程序控制单片机的I/O口输出高电平,就可以点亮这个LED。

2023-09-22 18:25:42 995 1

原创 Ubuntu换源(最简单的操作)

Ubuntu换源操作

2023-09-15 21:24:53 5387 3

原创 基于Linux(Ubuntu)系统下使用g++和Makefile编译C语言程序

本文是基于Ubuntu系统使用g++和Makefile进行C语言编译实操,阐述编译时的语法规则,通过分别在Ubuntu系统和Windows系统上进行C语言的编译,来展示文件编译并执行的过程。

2023-09-13 20:54:53 1812 2

原创 C++最经典的输出

int main()return 0;

2023-08-29 19:51:35 62 1

空空如也

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

TA关注的人

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