当前位置: 首页 > news >正文

单片机-STM32部分:13、PWM

飞书文档https://x509p6c8to.feishu.cn/wiki/NjhuwbVP7iaEOikVK95cmJNLnWf

PWM(Pulse Width Modulation)脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它是把每一脉冲宽度均相等的脉冲列作为PWM波形,通过改变脉冲列的周期可以调频,改变脉冲的宽度或占空比可以调压,采用适当控制方法即可使电压与频率协调变化。可以通过调整PWM的周期、PWM的占空比而达到控制电流。例如输出占空比为50%,频率为10Hz的脉冲,高电平为3.3V.则其输出的模拟效果相当于输出一个1.65V的高电平。脉冲调制有两个重要的参数,第一个就是输出频率,频率越高,则模拟的效果越好。第二个就是占空比。占空比就是改变输出模拟效果的电压大小。占空比越大则模拟出的电压越大。

PWM频率

是指1秒钟内信号从高电平到低电平再回到高电平的次数(一个周期);

如果频率为1000Hz ,也就是说1秒内来回了1000次,那每次的时间就是1ms,那此信号一个周期就是1ms

占空比:

是一个脉冲周期内,高电平的时间与整个周期时间的比例

调节占空比最终会反映到输出的电流、电压上,或者可以理解为输出的总能量变化,100%占空比时输出100%能量,50%占空比时,只会输出一半的能量,例如50%占空比控制LED会比较暗,控制电机力气会比较小。

STM32内置多个IO输出PWM通道。

STM32F1系列中:
高级定时器:TIM1、TIM8
通用定时器:TIM2、TIM3、TIM4、TIM5
基本定时器:TIM6、TIM7

STM32的每个高级、通用定时器都有独立的通道可以用来作为PWM输出模式。

TIM1_CH是普通通道,可以输出PWM信号或者捕获外部信号。
TIM1_CHN是互补通道,可以输出反相的PWM信号或者捕获反相的外部信号。
 

配置通用定时器TIM3,设置时钟源为内部时钟,这里我们可以看到TIM3定时器有四个通道可以配置

Slave Mode 从模式 Disable 不开启

Trigger Source 触发源 Disable 不开启

Clock Source 时钟源 内部时钟

Channel1 通道1设置为PWM输出

input capture direct mode 输入捕获模式

输入捕获模式可以对输入的信号的上升沿,下降沿或者双边沿进行捕获,常用来测量输入信号的脉宽、频率和占空比,类似逻辑分析仪的实现。

Output Compare XX 输出比较模式

输出比较模式可以方便的调节每一路PWM波的频率,可以输出四路频率不同,占空比不同的PWM,完全独立。

输出比较模式是通过比较定时器计数器的值和预设的比较值来控制输出信号的状态的。当定时器计数器的值小于比较值时,输出信号为低电平;当定时器计数器的值大于等于比较值时,输出信号为高电平。

PWM Generation XX PWM模式

PWM模式可输出的四路PWM,4个通道的频率是一致的,只有占空比是独立的,可以说PWM模式是输出比较模式的子集。

PWM Generation No Output 如果需要使用定时器事件来触发其他内部逻辑,比如设置标志位或触发中断,但不需要影响到GPIO的电平时使用
PWM Generation CH1 CH1输出
PWM Generation CH1N CH1互补输出
PWM Generation CH1 CH1N CH1输出和互补输出

Forced output 强制输出模式

强制输出模式能够直接由软件强置为有效或无效状态,而不依赖于输出比较寄存器和计数器间的比较结果。

配置PWM的具体参数

定时器部分配置在定时器章节已经进行讲解,

Prtscaler (定时器分频系数) : 71

Counter Mode(计数模式):Up(向上计数模式)

Counter Period(自动重装载值) : 499

CKD(时钟分频因子) :No Division (不分频 )

auto-reload-preload(自动重装载) : Enable (使能)

预分频系数为 72-1,自动重装载值为 500-1,定时器溢出频率,即PWM的周期,就是 72MHz/(72)/(500) = 2kHz 这里的72是因为从0开始计算到71,500同理。

下面主要来了解PWM部分配置


 

在PWM输出模式下,除了CNT(计数器当前值)、ARR(自动重装载值)之外,还多了一个值CCRx(捕获/比较寄存器值)。
当CNT小于CCRx时,TIMx_CHx通道输出低电平;
当CNT等于或大于CCRx时,TIMx_CHx通道输出高电平。

PWM频率:
Fpwm =Tclk / ((arr+1)*(psc+1))(单位:Hz)
arr 是计数器值
psc 是预分频值
比如:
定时器频率Tclk=72Mhz arr=500-1 psc=72-1 那么PWM频率就是72000000/72/500=2000Hz,即2KHz

占空比:
duty circle = TIMx->CCR1 / arr(单位:%)
CCR1  用户设定值

设置CCR1=250,定时器arr=500,则pwm的占空比为50% 

修改arr、psc可以修改频率
修改CCR1寄存器可以修改占空比

Mode: PWM模式1

有效电平的区别,有效电平的高低可以通过下方的CH Polarity配置
模式1和模式2正好互补,互为相反,在运用起来差别不大,一般使用模式1即可。
PWM模式1-在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;
PWM模式2-在向上计数时,一旦TIMx_CNT=TIMx_CCR1时通道1为无效电平,否则为有效电平。

Pulse: 占空比,设置为0,由代码进行配置即可。

Output compare preload: 使能输出比较预装载

输出比较预装载允许你在当前PWM周期结束之前设置新的占空比或比较值,而这个新的值会在下一个周期开始时才生效。这样可以避免在调整PWM信号参数时产生的突变或毛刺,使得PWM输出的变化更为平滑连续。

简单来说,如果enable,任何写入TIMx_CCRx事件到来,都不会打断当前计数周期,只能等到计完数了(更新事件),才把TIMx_CCRx传送至当前计数寄存器。
如果disable,任何写入TIMx_CCRx事件到来,都会打断当前计数周期,TIMx_CCRx的值传送至当前计数寄存器。

Fast Mode: 关闭PWM脉冲快速输出

CH Polarity: 设置有效电平为高或低,我们默认设置为高即可,和前面的PWM模式1共同作用。

下面,我们使用TIM3的CH2验证PWM功能


main.c
HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_2);  //开启PWM输出
__HAL_TIM_SetCompare(&htim3,TIM_CHANNEL_2,50);  //设置默认的占空比值PWM占空比修改uint16_t pwm_value =0;   //占空比while (1){/* USER CODE BEGIN 3 */while (pwm_value < 500){pwm_value++;__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, pwm_value);    //修改比较值,修改占空比HAL_Delay(1);}while (pwm_value){pwm_value--;__HAL_TIM_SetCompare(&htim3, TIM_CHANNEL_2, pwm_value);    //修改比较值,修改占空比HAL_Delay(1);}HAL_Delay(200);}/* USER CODE END 3 */PWM频率修改:
定时器频率Tclk=72Mhz arr=500-1 psc=72-1 那么PWM频率就是720000/500/72=2000Hz,即2KHz
在步修改arr的情况下,我们可以通过设置psc的值,以修改最终输出的频率while (1){/* USER CODE BEGIN 3 *///4k__HAL_TIM_SET_PRESCALER(&htim3, 36-1);HAL_Delay(10);//2k__HAL_TIM_SET_PRESCALER(&htim3, 72-1);HAL_Delay(10);}/* USER CODE END 3 */或者修改装载值
__HAL_TIM_SET_AUTORELOAD(&htim3, 500-1);

PWM频率固定2KHz,占空比修改

PWM占空比固定50%,频率修改

2K-4K变换

4K

2K

示例工程参考飞书文档

相关文章:

单片机-STM32部分:13、PWM

飞书文档https://x509p6c8to.feishu.cn/wiki/NjhuwbVP7iaEOikVK95cmJNLnWf PWM&#xff08;Pulse Width Modulation&#xff09;脉冲宽度调制&#xff0c;是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。它是把每一脉冲宽度均相等的脉冲列作为PWM波形&am…...

HTTP 错误状态码以及常用解决方案

以下是常见 HTTP 错误状态码及其解决方案的对比表格&#xff0c;按客户端&#xff08;4xx&#xff09;和服务端&#xff08;5xx&#xff09;分类&#xff1a; HTTP 错误码对比表 一、客户端错误&#xff08;4xx&#xff09; 状态码含义常见原因解决方案400Bad Request请求参…...

巧用promise.race实现nrm镜像源切换----nbsl

今天是母亲节祝全天的母亲节日快乐奥 引言 在复习Promise知识点时&#xff0c;发现Promise.race在实际开发中应用较少&#xff0c;于是深入思考了它的应用场景。最近使用nrm&#xff08;npm镜像源切换工具&#xff09;时&#xff0c;想到每次都需要手动切换镜像源来测试哪个更…...

Python基础语法(中)

顺序语句 默认情况下&#xff0c;Python的代码执行顺序是从上往下执行的。 形如下面这样的代码&#xff0c;执行的结果只能是123&#xff0c;而不是321 print(1) print(2) print(3) 条件语句 Python 中使用 if else 关键字表示条件语句 &#xff08;1&#xff09;if if e…...

【Part 2安卓原生360°VR播放器开发实战】第四节|安卓VR播放器性能优化与设备适配

《VR 360全景视频开发》专栏 将带你深入探索从全景视频制作到Unity眼镜端应用开发的全流程技术。专栏内容涵盖安卓原生VR播放器开发、Unity VR视频渲染与手势交互、360全景视频制作与优化&#xff0c;以及高分辨率视频性能优化等实战技巧。 &#x1f4dd; 希望通过这个专栏&am…...

java笔记06

TreeMap的基本使用 TreeMapTreeMap 跟 TreeSet 底层原理一样&#xff0c;都是红黑树结构的。由键决定特性&#xff1a;不重复、无索引、可排序可排序&#xff1a;对键进行排序。注意&#xff1a;默认按照键的从小到大进行排序&#xff0c;也可以自己规定键的排序规则 代码书写…...

Problem E: 实现冒泡排序(内存优化)

1.题目描述 输入任意顺序的整数序列&#xff0c;输出结果为从小到大的排序结果 2.输入描述 输入一个整数序列&#xff0c;整数之间用空格隔开&#xff0c;输入完最后一个整数&#xff0c;回车 3.输出描述 从小到大的排序结果 4.样例 提示&#xff1a;注意&#xff0c;主…...

大模型对时尚穿搭体验的革新与重塑

在大模型深度介入时尚穿搭领域后&#xff0c;人们的穿搭体验迎来了前所未有的变革。它不再局限于单纯提供搭配方案&#xff0c;而是全方位渗透进时尚穿搭的各个环节&#xff0c;从决策过程到实际穿着感受&#xff0c;都在悄然改变着人们与时尚互动的方式。 打破信息壁垒&#…...

第6讲、全面拆解Encoder、Decoder内部模块

全面拆解 Transformer 架构&#xff1a;Encoder、Decoder 内部模块解析&#xff08;附流程图小测验&#xff09; 关键词&#xff1a;Transformer、Encoder、Decoder、Self-Attention、Masked Attention、位置编码、残差连接、多头注意力机制 Transformer 自 2017 年诞生以来&am…...

Linux电脑本机使用小皮面板集成环境开发调试WEB项目

开发调试WEB项目&#xff0c;有时开发环境配置繁琐&#xff0c;可以使用小皮面板集成环境。 小皮面板官网&#xff1a; https://www.xp.cn/1.可以使用小皮面板安装脚本一键安装。登陆小皮面板管理后台 2.在“软件商店”使用LNMP一键部署集成环境。 3.添加网站&#xff0c;本…...

数据仓库Hive

1.数据仓库 1.1数据仓库的概念 数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的、集成的、相对稳定的、反映历史变化的数据集合&#xff0c;用于支持管理决策。 面向主题。操作型数据库的数据组织面向事务处理任务&#xff0c;而数据仓库中的数据按照一定的…...

嵌入式学习笔记 - STM32 ADC,多重转换,内部参考电压,

一 多个ADC器件&#xff0c;多重转换速率 每个型号MCU通常由多个ADC器件&#xff0c;比如STM32F4有三个ADC器件&#xff0c;每个ADC器件有一个最大转换速率&#xff0c;一般为25Mhz&#xff0c;即一个ADC器件每秒最多转换25M次&#xff0c;两次转换之间需要有时间间隔&#xf…...

精读计算机体系结构基础 第三章 特权指令系统

3. 1 特权指令系统简介 想象一下&#xff0c;计算机就像一个大楼&#xff0c;而这个大楼有很多不同的楼层。每个楼层都有不同的功能和使用者。最上面的楼层是应用层&#xff0c;那里住着各种各样的应用程序&#xff0c;比如你用来写作的文字处理软件、用来浏览网页的浏览器等等…...

库室多功能控制器

应急供电保障​ 内置智能备电系统&#xff0c;市电中断时即刻无缝切换&#xff0c;为设备持续稳定供电&#xff0c;确保关键场景用电无忧。​ 超高性价比​ 集门禁、报警、环控等专业功能于一体&#xff0c;相比同类产品&#xff0c;以更优的价格提供更全面、更强大的解决方…...

使用FastAPI和React以及MongoDB构建全栈Web应用07 FastAPI实现经典三层架构

一、单文件简单实现 1.1 开发用户增删改查接口 main.py from fastapi import FastAPI, Request, Query, HTTPException from fastapi.responses import JSONResponse from motor.motor_asyncio import AsyncIOMotorClient from pydantic import BaseModel from bson import …...

《设计模式之禅》笔记

:::info &#x1f4a1; 根据 遗忘曲线&#xff1a;如果没有记录和回顾&#xff0c;6天后便会忘记75%的内容 读书笔记正是帮助你记录和回顾的工具&#xff0c;不必拘泥于形式&#xff0c;其核心是&#xff1a;记录、翻看、思考::: 书名设计模式之禅作者秦小波状态已读完简介深刻…...

JavaScript 循环语句全解析:选择最适合的遍历方式

循环是编程中处理重复任务的核心工具。JavaScript 提供了多种循环语句&#xff0c;每种都有其适用场景和独特优势。本文将深入解析 JavaScript 的 6 种核心循环语句&#xff0c;通过实际示例帮助你精准选择合适的循环方案。 一、基础循环三剑客 1. for 循环 经典索引控制 ja…...

远程服务器pycharm运行tensorboard显示训练轮次图

本文仅针对远程服务器的情况 首先在远程服务器端 首先打开xshell&#xff0c;然后激活自己的虚拟环境 baekee这是我的&#xff01; conda activate baekee然后cd进去你运行的文件所在的目录 cd /tmp/pycharm_project_732这个项目也是我的&#xff01; 然后一个很重要的事情…...

Nginx 使用 Keepalived 搭建 nginx 高可用

一、环境准备 两台装有 nginx 的 CentOS 虚拟机。 [rootnginx1 ~]# echo "192.168.40.81 say Hello" > /usr/local/nginx/html/index.html [rootnginx2 ~]# echo "192.168.40.82 say Hello" > /usr/local/nginx/html/index.html 二、原理 Keepaliv…...

A1062 PAT甲级JAVA题解 Talent and Virtue

About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about peoples talent and virtue. According to his theory, a man being outstanding in both talent and virtue must be a "sage&#xff08;圣人&#xff09;"…...

数据指标和数据标签

数据指标和数据标签是数据管理与分析中的两个重要概念&#xff0c;它们在用途、形式和应用场景上有显著区别。以下是两者的详细对比&#xff1a; 1. 核心定义 维度数据指标&#xff08;Data Metrics&#xff09;数据标签&#xff08;Data Tags/Labels&#xff09;定义量化衡量…...

常见的排序算法(Java版)简单易懂好上手!!

排序 “排序”顾名思义就是把乱序的变成有序的&#xff0c;就像我们玩斗地主这种牌类游戏时&#xff0c;我们拿到牌都会将牌给排序一下&#xff0c;更好的在对局中方便思考和观察&#xff0c;我们排序算法也亦是如此。 文章目录 排序一、冒泡排序二、选择排序三、插入排序四、…...

用统计零花钱的例子解释:Shuffle 是啥?

举个栗子 &#x1f330;&#xff1a;统计全班同学的零花钱总和 假设你是班长&#xff0c;全班有 4个小组&#xff0c;每个小组记录了自己的零花钱情况&#xff1a; 第1组&#xff1a;张三(5元)、李四(3元)、张三(2元) 第2组&#xff1a;王五(4元)、张三(1元)、李四(2元) …...

Kafka topic 中的 partition 数据倾斜问题

在 Kafka 中&#xff0c;如果一个 Topic 有多个 Partition&#xff0c;但这些 Partition 中的消息数量或流量分布不均衡&#xff0c;就会出现 数据倾斜&#xff08;Data Skew&#xff09; 的问题。 ✅ 什么是数据倾斜&#xff1f; 数据倾斜指的是&#xff1a; 某些 Partitio…...

Python基础总结(十)之函数

Python函数 函数是Python中也是非常重要的&#xff0c;函数是带名字的代码块&#xff0c;用于完成具体的工作。要执行函数定义的特定任务&#xff0c;可调用该函数。 一、函数的定义 函数的定义要使用def关键字&#xff0c;def后面紧跟函数名&#xff0c;缩进的为函数的代码…...

macOS 15 (Sequoia) 解除Gatekeeper限制

macOS 15 (Sequoia) 解除Gatekeeper限制指南 问题描述 在macOS 15中执行sudo spctl --global-disable命令后&#xff0c;系统提示&#xff1a; Globally disabling the assessment system needs to be confirmed in System Settings 但隐私与安全性界面未显示"任何来源&…...

【Flask开发踩坑实录】pip 安装报错:“No matching distribution found” 的根本原因及解决方案!

关键词&#xff1a;pip 报错、镜像源问题、flask-socketio、Python开发环境、安装失败 作者&#xff1a;未名编程 &#xff5c; 更新时间&#xff1a;2025.05.11 &#x1f4cc; 引言&#xff1a;一场莫名其妙的 pip 安装失败 最近在开发一个基于 Flask 的图像检索网站时&#…...

50.辐射抗扰RS和传导抗扰CS测试环境和干扰特征分析

辐射抗扰RS和传到抗扰CS测试环境和干扰特征分析 1. 辐射抗扰RS2. 传导抗扰CS 1. 辐射抗扰RS 辐射抗扰RS考察对外界电磁场干扰得抗扰能力&#xff0c;测试频段为80MHz~2000MHz&#xff0c;用1KHz得正弦波进行调幅&#xff0c;在电波暗室内进行。测试标准&#xff1a;IEC 61000-…...

零基础玩转sqlmap - 从入门到摸清数据库

sqlmap 包下载链接&#xff1a;https://pan.quark.cn/s/a6ab2586f77e 基本操作 最简单的用法&#xff1a;sqlmap -u "网址" - 直接测试这个网址有没有SQL注入漏洞 带参数的测试&#xff1a;如果网址后面有参数&#xff0c;比如 id1&#xff0c;sqlmap会自动检测 指…...

AI面经总结-试读

写在前面 该面经于2022年秋招上岸后耗时一个半月整理完毕&#xff0c;目前涵盖Python、基础理论、分类与聚类、降维、支持向量机SVM、贝叶斯|决策树、KNN、Boosting&Bagging、回归、代价函数与损失函数、激活函数、优化函数、正则优化、初始化与归一化、卷积、池化、传统图…...

python打卡day22@浙大疏锦行

复习日 仔细回顾一下之前21天的内容&#xff0c;没跟上进度的同学补一下进度。 作业&#xff1a; 自行学习参考如何使用kaggle平台&#xff0c;写下使用注意点&#xff0c;并对下述比赛提交代码 一、数据预处理 import pandas as pd import numpy as np import matplo…...

网络安全设备配置与管理-实验5-p150虚拟防火墙配置

实验5-p150虚拟防火墙配置 做不出来可以把项目删掉再新建。 实验六多加几步配置静态路由表就行。 文章目录 实验5-p150虚拟防火墙配置1. 实验目的2. 实验任务3. 实验设备4. 实验拓扑图和设备接口5. 实验命令与步骤1. 连线与配置2. 实验验证 思考题 1. 实验目的 通过该实验掌握…...

数值运算的误差估计

数值运算的误差估计 设两个近似数 x 1 ∗ x_1^* x1∗​与 x 2 ∗ x_2^* x2∗​的误差限分别为 ε ( x 1 ∗ ) \varepsilon(x_{1}^{*}) ε(x1∗​)和 ε ( x 2 ∗ ) \varepsilon(x_{2}^{*}) ε(x2∗​) 误差限满足一下运算法则&#xff1a; 和差运算的误差限&#xff1a; 设 y …...

HCIP-BGP实验一

一&#xff1a;拓扑图 二&#xff1a;需求分析&#xff1a; 保证R1-R5的环回地址相互能够通讯。 分析&#xff1b; 1.IP的配置 2.R2-R4完成IGP配置&#xff0c;配置OSPF 3.完成BGP配置。 4.优化配置&#xff0c;包括下一跳的选择&#xff0c;IBGP对等体建邻的IP地址。 三…...

linux内核pinctrl/gpio子系统驱动笔记

目录 一、简单介绍二、主要源码文件和目录gpio子系统pinctrl子系统两个子系统之间的关系设备树例子 三、主要的数据结构gpio子系统pinctrl子系统 四、驱动初始化流程五、难点说明 一、简单介绍 GPIO子系统: Linux GPIO子系统是Linux内核中负责处理GPIO&#xff08;通用输入输出…...

Qt—多线程基础

一、QThread 1.为什么使用多线程 在默认情况下&#xff0c;Qt使用的是单线程&#xff0c;当你启动一个 Qt 应用程序时&#xff0c;它会运行在一个单一的主线程&#xff08;也被称为 GUI 线程&#xff09;中。这个主线程负责处理所有的 GUI 事件和界面渲染。 但在一些其他情况下…...

HTML5表格语法格式详解

HTML5 表格的基本结构 HTML5 表格由 <table> 标签定义&#xff0c;表格中的每一行由 <tr> 标签定义&#xff0c;表头单元格由 <th> 标签定义&#xff0c;数据单元格由 <td> 标签定义。表格的基本结构如下&#xff1a; <table><tr><th…...

《Go小技巧易错点100例》第三十三篇

​ Validator自定义校验规则 Go语言中广泛使用的validator库支持通过结构体标签定义校验规则。当内置规则无法满足需求时&#xff0c;我们可以轻松扩展自定义校验逻辑。 示例场景&#xff1a;验证用户年龄是否成年&#xff08;≥18岁&#xff09; type User struct {Age in…...

Spring AI(3)——Chat Memory

Chat Memory介绍 大型语言模型&#xff08;LLM&#xff09;是无状态的&#xff0c;这意味着它们不保留关于以前互动的信息。为了解决这个问题&#xff0c;Spring AI提供了Chat Memory&#xff08;聊天记忆&#xff09;功能。通过Chat Memory&#xff0c;用户可以实现在与LLM的…...

双向循环神经网络(Bi-RNN)详解

双向循环神经网络(Bidirectional Recurrent Neural Network, Bi-RNN)是一种能够同时利用序列数据过去和未来信息的循环神经网络架构&#xff0c;在许多序列建模任务中表现出色。 1. Bi-RNN基本概念 1.1 核心思想 Bi-RNN通过组合两个独立的RNN层来工作&#xff1a; 前向RNN&…...

【Bluedroid】HID DEVICE 连接的源码分析

本文分析Android Bluetooth协议栈中HID device设备连接流程的完整实现,从应用层接口到协议栈底层的交互细节。通过关键函数(如connect()、BTA_HdConnect()、HID_DevConnect()等)的代码解析,重点关注btif、bta、HID协议栈三层的协同机制,揭示BTA_HD_CONN_STATE_EVT事件传递…...

第二十一周:项目开发中遇到的相关问题(二)

本周接着介绍本次新闻项目中遇到的一些问题。首先谈谈Controller层中的请求路径问题&#xff08;RequestMapping&#xff09;,RequestMapping注解是Spring框架中用于处理HTTP请求映射的核心注解&#xff0c;它可以将HTTP请求映射到具体的控制器方法上。 1.关于它的基本作用&…...

深度解析大模型学习率:优化策略与挑战

大模型超参数Learning Rate的深度学习 学习率(Learning Rate)是机器学习和深度学习中最核心的超参数之一,尤其在训练大规模语言模型(LLMs)时,其设置直接影响模型的收敛速度、训练稳定性及最终性能。以下从多维度详细解析学习率的定义、作用、挑战及优化策略。 一、学习率…...

云计算-容器云-KubeVirt 运维

KubeVirt 运维&#xff1a;创建 VM 使用提供的镜像在 kubevirt 命名空间下创建一台 VM&#xff0c;名称为 exam&#xff0c;指定 VM 的内存、CPU、网卡和磁盘等配置。 [rootk8s-master-node1 ~]# kubectl explain kubevirt.spec. --recursive |grep useuseEmulation <boo…...

C++内存管理详解

目录 1.C/C中的内存 2.C内存管理 2.1C语言内存管理 2.2new和delete 2.2.1概念及定义 2.2.2自定义类型内存管理 2.2.3 delete与delete[ ] 1.C/C中的内存 在C/C中编译器会对不同的代码进行内存分配&#xff0c;给代码的内存区主要分为栈区、堆区、数据段(静态区)、代码段(…...

二叉搜索树讲解

1. 二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 1. 若它的左子树不为空&#xff0c;则左子树上的所有结点的值都小于等于根节点的值。 2. 若它的右子树不为空&#xff0c;则右子树上的所有结…...

MySQL 索引设计宝典:原理、原则与实战案例深度解析

目录 前言第一章&#xff1a;索引设计的基础原则 (知其然&#xff0c;更要知其所以然)第二章&#xff1a;实战案例&#xff1a;电商订单系统的索引设计第三章&#xff1a;索引设计的实践流程总结结语 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜…...

如何租用服务器并通过ssh连接远程服务器终端

这里我使用的是智算云扉 没有打广告 但确实很便宜 还有二十小时免费额度 链接如下 注册之后 租用新实例 选择操作系统 选择显卡型号 点击租用 选择计费方式 选择镜像 如果跑深度学习的话 就选项目对应的torch版本 没有的话 就创建纯净的cuda 自己安装 点击创建实例 创建之后 …...

TikTok 账号运营干货:AI 驱动优化

TikTok 账号运营是一项需要全方位精心雕琢的工作。首先&#xff0c;账号资料的打造至关重要&#xff0c;务必保证完整且富有吸引力。头像要清晰醒目&#xff0c;能够直观传达账号的核心特色&#xff1b;昵称需简洁易记&#xff0c;方便用户快速识别与记忆&#xff1b;简介则要精…...

Redis 分布式锁

什么是分布式锁 在一个分布式的系统中, 也会涉及到多个节点访问同一个公共资源的情况. 此时就需要通过 锁 来做互斥控制, 避免出现类似于 "线程安全" 的问题 而 java 的 synchronized 或者 C 的 std::mutex, 这样的锁都是只能在当前进程中生效, 在分布式的这种多个进…...