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

STM32-ADC模数转换器(7)


对GPIO来说,它只能读取引脚的高低电平,使用了ADC模数转化器之后,就可以对高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量,就能得到引脚输入的具体电压是多少了。

ADC模数转化器就相当于一个电压表,把引脚的电压值测出来,放入一个变量中,这就是ADC的作用。

一、ADC简介

模拟-数字转换器简称ADC(Analog-Digital Converter),它可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。

数字-模拟转换器简称DAC,可以将数字变量转化成模拟电压,主要应用于波形生成(信号发生器、音频解码芯片)等。
PWM的功能与DAC相似,它只有完全导通和完全断开两种状态,在这两种状态上都没有功率损耗,所以在直流电机调速这种大功率的应用场景,使用PWM来等效模拟量,是比DAC更好的选择,且PWM电路更简单,而且更常用。

STM32中的ADC是12位逐次逼近型ADC,1us转换时间。


ADC还有两个关键参数,分别是分辨率和转换时间(转换频率)
分辨率就是用多少位来表示,这里12位,分辨率的表示范围就是0~2^(12-1),即量化结果的范围是0~4095,位数越高,量化结果越精细,对应分辨率就越高。
AD转换是需要一小段时间的,这里1us表示从AD转换开始到产生结果,需要花费1us的时间,对应AD的转换频率是1MHz,这个就是STM32的最快转换频率。

输入电压范围:0~3.3V,转换结果范围:0~4095
输入电压一般要求是在芯片供电的正极和负极之间变化,输入0-3.3V,经过AD转换后,就得到最小值0,最大值4095,中间也都是一一对应的线性关系。

ADC模数转换器共有16个输入通道,可测量16个外部和2个内部信号源
16个外部信号源就是16个GPIO口,在引脚上直接接模拟信号就可以,不需要任何额外的电路,引脚就可以测量电压值。
两个内部信号源分别是内部温度传感器和内部参考电压。
温度传感器可以测量CPU的温度,内部参考电压是一个1.2V左右的基准电压,这个基准电压不会随外部供电变化而变化,如果芯片的供电不是标准的3.3V,测量外部引脚的电压就会错误,这时就可以读取基准电压进行校准,就能得到正确的电压值了。

STM32F103C8T6 ADC资源:ADC1、ADC2,10个外部输入通道,两个内部信号源温度传感器和内部参考电压都在ADC1上。
ADC12_IN0的意思是ADC1和ADC2的IN0都在PA0引脚上。

二、逐次逼近型ADC

输入部分:给地址锁存和译码一个通道的地址,就能让通道选择开关,选择其中一个通道打开。

比较部分:通过电压比较器,它可以判断两个输入信号电压的大小关系,输出一个高低电平,指示电压谁大谁小。它的两个输入端,一个是外部通道输入未知编码的电压,一个是DAC输出已知编码的电压,它俩同时输入到比较器,进行大小判断。如果DAC输出的电压比较大,就调小DAC数据;如果DAC输出电压比较小,就调大DAC数据,直到DAC输出电压和外部通道输入的电压近似相等,这样DAC输入的数据就是外部电压的编码数据了,这个电压调节的过程就是逐次逼近寄存器SAR来完成的。

为了最快找到未知电压的编码,通常是采用二分法来进行查找,比如8位的ADC,那编码就是0~255,第一次输入时,就给255的一半128进行比较,如果DAC大了,第二次比较就给128的一半64进行比较,以此类推。这些比较数据正好是二进制的每一位位权,这个判断过程就相当于是从高位到低位依次判断是1还是0的过程。

三、ADC基本结构图

左边是输入通道,包括16个GPIO外部输入通道和两个内部通道。

进入AD转换器后,里面有两个组,分别是规则组和注入组,规则组最多可以同时选中16个通道进行比较,但是只能转换输出其中一个通道内的数据,因此规则组可以配合DMA数据转运来使用,DMA可以转运选中的其他多个通道内的数据,防止数据被覆盖。
注入组最多可以同时选择4个通道进行比较,也能同时输出4个通道内的数据到AD数据寄存器。

触发控制提供开始转换信号,它有软件触发(调用函数)和硬件触发(定时器和外部中断)。

上面可以布置一个模拟看门狗,用于监测转换结果的范围,如果超出设定的阈值,就通过中断输出控制,向NVIC申请中断。

规则组和注入组转换完成后,会有一个EOC信号,它会置一个标志位,最终也可以向NVIC申请中断。

最后右下角还有一个开关控制,在库函数中就是ADC_Cmd函数,用于给ADC上电。

AD初始化步骤:
(1)开启RCC时钟,包括ADC和GPIO;
(2)ADC的时钟,ADCCLK需要配置一下;
(3)配置GPIO,改成输入模式;
(4)配置多路开关,把左边通道接入到右边的规则组列表中;
(5)配置ADC转换器;
(6)调用ADC_Cmd函数,开启ADC;
(7)对ADC进行校准,来减少误差。


四、规则组的四种转换模式


1、单次转换,非扫描模式

上图列表就是规则组里能选中的通道,在非扫描模式下,这个列表只有第一个序列1的位置有效,规则组同时选中一组(16个通道)就退化为简单地选中一个地方式了,序列1的位置可以指定想要转换的通道,触发后,ADC就会对这个通道2进行模数转换,过一小段时间后,转换结果就会放在数据寄存器中,同时给EOC标志位置1。如果需要再转换,就得再次触发ADC进行模数转换。

2、连续转换,非扫描模式

它与上一种方式的不同之处在于,在一次转换结束之后,它的转换不会停止,而是立刻开始下一轮的转换,一直持续下去。

3、单次转换,扫描模式

这里也是单次转换,因此再每次转换后,都会停下来,需要触发才能开始。
这个扫描模式可以同时选择多个通道,通道数量也是可以指定的,触发之后,它就会依照序列号,依次对通道进行AD转换,转换结果都放在数据寄存器了,为了防止数据被覆盖,需要用DMA及时将数据挪走。7个通道转换完成后,才会产生EOC标志位置1,转换结束。然后需要转换,得再次触发ADC进行模数转换。


4、连续转换,扫描模式

这个模式功能跟上个模式一致,就是触发一次就会自动一直触发,会一直连续转换。

在扫描模式得情况下,还有一种模式,叫间断模式,它的作用是在扫描过程中,每隔几个转换,就暂停一次,需要再次触发,才能继续。


ADC1和ADC2的外部触发方式,其中包括定时器触发、外部引脚触发和软件触发,选择哪种触发方式,通过控制最右边寄存器可以选择对应方式。

五、转换时间

AD转换的步骤包括采样保持、量化编码两步。

采样保持:在量化编码前,需要设置一个采样开关,打开采样开关,收集外部电压,比如可以用一个小容量的电容存储这个电压,存储好了以后,断开采样开关,再进行后面的量化编码,这样在量化编码期间,电压就能够始终保持不变,这样才能精确地定位未知电压的位置;
采样保持的过程中,需要闭合采样开关,过一段时间再断开,这里就会产生一个采样时间。

量化编码:是ADC逐次比较(AD模数转换)的过程,这个需要花一段时间,位数越多,花费的时间就越长。

STM32 ADC的总转换时间为:T_CONV = 采样时间 + 12.5个ADC周期
采样时间就是采样保持花费的时间,采样时间越大,越能避免一些毛刺信号的干扰,转换时间也会相应延长;
12.5个ADC周期是量化编码花费的时间,ADC是12位的,因此需要花费12个周期,这里0.5个周期是一些其他事情花费的时间。

例如:当ADCCLK=14MHz,采样时间为1.5个ADC周期。T_CONV = 1.5 + 12.5 = 14个ADC周期 
ADC周期就是从RCC分频过来的ADCCLK,ADCCLK最大为14MHz。
转换时间= N个ADC周期/ADCCLK = 14/14MHz = 1us

相关文章:

STM32-ADC模数转换器(7)

对GPIO来说,它只能读取引脚的高低电平,使用了ADC模数转化器之后,就可以对高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量,就能得到引脚输入的具体电压是多少了。 ADC模数转化器…...

前端SSE技术详解:从入门到实战的完整指南

前端SSE技术详解:从入门到实战的完整指南 一、初识SSE:比WebSocket更轻量的选择 很多开发者第一次听说Server-Sent Events(SSE)时,都会下意识问:“这和WebSocket有什么区别?” 就像选择交通工…...

mac u盘重装mac10.15Catalina系统

我的电脑提mac2017的air 重装过程 (文件夹中间有空格时为 Install\ macOS\ Catalina 才行) (有需要的,最好做一下备份,有些东西可以及时找到配置和文件之类的, u盘制作是在mac电脑上操作的) 一、先下载系统镜像文件或自行到官方…...

8051模板移植

8051模板移植 一,新建工程文件二,Keil配置 一,新建工程文件 在工程文件下建立Driver和User 打开Keil,点击扳手选择芯片型号 出现下图情况,选择是,然后会多出一个启动文件,以后有用 二&…...

轻松制作高质量视频,实时生成神器LTX-Video重磅登场!

探索LTX-Video:实时视频生成跨越新高度 在如今这个视觉内容主导的数字时代,视频生成成为推动创意表达的关键。而今天,我们将带您深入探索LTX-Video,一个强大的开源项目,致力于通过尖端技术将视频生成提升到一个全新的…...

两个数组的交集(暴力、set、哈希)

一.题目 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2]示例 2: 输入&#xf…...

[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离

[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离(十六) 摘要:本文深入剖析Spring Boot多环境配置的5种实现方案,涵盖YAML分组配置、Maven Profile集成、Kubernetes适配等企业级实践,并附赠配置加密方案…...

LWIP的IP协议笔记

IP协议简介 IP协议是TCP/IP协议族的基石,它为上层提供无连接、不可靠的服务 无连接:指IP通信双方都不长久的维持对方的任何信息。这表示上层协议每次发送数据,都需要明确指出对方的IP地址 不可靠:指IP协议不能把IP数据报准确到…...

matlab介绍while函数

MATLAB 中的 while 语句介绍 在 MATLAB 中,while 语句是一种循环结构,用于在满足特定条件时反复执行一段代码块。与 for 循环不同,while 循环的执行次数是动态的,取决于循环条件是否为真。 语法 while condition% 循环体代码 e…...

每日算法刷题Day2 5.10:leetcode数组1道题3种解法,用时40min

4.LC 旋转矩阵(中等,学习) 面试题 01.07. 旋转矩阵 - 力扣(LeetCode) 思想: 法一: 额外空间数组来回赋值拷贝 法二: 1.翻转90度得到等式a[j][n-i-1]a[i][j],但是会改变a[j][n-i-1]原始值,再去看该位置变到哪一位置 分析可得,4个…...

【图书管理系统】深度讲解:图书列表展示的后端实现、高内聚低耦合的应用、前端代码讲解

1.约定前后端交互接口 [请求] /book/getListByPage [参数] currentPage1&pageSize10 [响应] 返回封装的result对象对应的Json数据 2. 整体逻辑 2.1 Controller的逻辑 (1)把接收的参数封装为PageRequest类,里面有属性:curren…...

本地大模型工具深度评测:LM Studio vs Ollama,开发者选型指南

引言 在大语言模型本地化部署的技术浪潮中,隐私保护与成本优化成为核心诉求。LM Studio与Ollama作为两款明星级本地大模型工具,凭借对开源模型的支持能力,成为开发者关注的焦点。本文将从技术架构、应用场景、实操体验三个维度展开深度对比&a…...

天线的PCB设计

目录 天线模块设计的重要性 天线模块的PCB设计 天线模块设计的重要性 当智能手表突然断连、无人机信号飘忽不定——你可能正在经历一场来自天线模块的"无声抗议"。这个隐藏在电子设备深处的关键组件,就像数字世界的隐形信使,用毫米级的精密结…...

《P1226 【模板】快速幂》

题目描述 给你三个整数 a,b,p,求 abmodp。 输入格式 输入只有一行三个整数,分别代表 a,b,p。 输出格式 输出一行一个字符串 a^b mod ps,其中 a,b,p 分别为题目给定的值, s 为运算结果。 输入输出样例 输入 #1复制 2 10 9输…...

推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统

在当今的工程项目管理领域,许多企业和团队面临着诸多难题。传统的管理方式往往依赖于人工记录和分散的工具,导致项目进度难以实时把控,任务分配不够清晰,合同管理混乱,事件提醒不及时,财务管理缺乏系统性&a…...

AZScreenRecorder最新版:功能强大、操作简便的手机录屏软件

AZScreenRecorder最新版是一款功能强大的手机录屏软件,专为安卓设备设计。它无需ROOT权限,支持无限录制时长,操作简单,录制过程中可以随时暂停,满足不同用户的个性化录屏需求。此外,用户还可以自定义分辨率…...

[sklearn机器学习概述]机器学习-part3

获取数据、数据处理、特征工程后,就可以交给预估器进行机器学习,流程和常用API如下。 1.实例化预估器(估计器)对象(estimator), 预估器对象很多,都是estimator的子类(1)用于分类的预估器sklearn.neighbors.KNeighbors…...

[模型选择与调优]机器学习-part4

七 模型选择与调优 1 交叉验证 (1) 保留交叉验证HoldOut HoldOut Cross-validation(Train-Test Split) 在这种交叉验证技术中,整个数据集被随机地划分为训练集和验证集。根据经验法则,整个数据集的近70%被用作训练集&#xff…...

PyTorch API 1 - 概述、数学运算、nn、实用工具、函数、张量

文章目录 torch张量创建操作索引、切片、连接与变异操作 加速器生成器随机采样原地随机采样准随机采样 序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历…...

如何在mac上使用便利贴

可以在 App Store 下载便利贴应用实现在电脑上贴便条的效果。 以 「桌面便利贴」这款应用为例,创建的便利贴会像桌面上的文件一样展示在桌面上,随时可以查看。还可以修改便笺的颜色、透明度、字体、高亮等等。 我比较喜欢的功能是将便签固定在所有窗口的…...

Linux——Mysql索引和事务

目录 一,Mysql索引介绍 1,索引概述 1,索引的优点 2,索引的缺点 2,索引作用 3,索引分类 普通索引 唯一索引 主键索引 组合索引 全文索引 4,查看索引 5,删除索引 6&…...

vim 查看复杂的宏扩展

在一些复杂项目中,使用宏可以简化代码。但是对于刚接触项目的人来说,分析层层嵌套的宏,是件头疼的事情。 使用 vim 的多窗口功能,可以为此提供一些帮助。 如下图,分析4层嵌套的宏,DEFINE_I440FX_MACHINE -…...

【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南

基于OpenCV的图像分割技术深度解析与实践指南 项目概述与技术背景项目核心特点传统分割算法分类 环境配置与项目结构系统要求安装步骤项目结构解析 核心算法实现解析1. 阈值分割(Otsu方法)2. Canny边缘检测3. 分水岭算法 实战应用指南1. 基础分割流程2. …...

线性表-顺序表(Sequential List)

1 线性表 1.1 顺序表(Sequential List) 顺序表并不难理解,主要是知道顺序表是在内存中连续存储的一段数据,知道这个后,相应的算法也就非常简单了。 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的…...

《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-俄罗斯方块:用旋转矩阵打造经典

《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-🎮 俄罗斯方块:用旋转矩阵打造经典 🧊 大家好!今天我将带大家用MATLAB实现经典的俄罗斯方块游戏。我们将从数学原理出发…...

通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志

一、TP5.0通过行为&#xff08;Behavior&#xff09;拦截爬虫并避免生成 [ error ] NULL 错误日志 1. 创建行为类&#xff08;拦截爬虫&#xff09; 在 application/common/behavior 目录下新建BlockBot.php &#xff0c;用于识别并拦截爬虫请求&#xff1a; <?php name…...

微服务的“迷宫” - 我们为何需要服务网格?

微服务的“迷宫” - 我们为何需要服务网格? 你好!欢迎来到我们的服务网格探索之旅。近年来,“微服务架构”无疑是软件开发领域最热门的词汇之一。它将庞大的单体应用拆分成一组小而独立的、可以独立开发、部署和扩展的服务单元,带来了前所未有的敏捷性和弹性。开发团队可以…...

Ubuntu 安装 HAProxy

HAProxy 是什么 HAProxy&#xff08;High Availability Proxy&#xff09; 是一个 高性能、高可用的 TCP 和 HTTP 负载均衡器与代理服务器。 HAProxy 的特点 特性说明支持协议HTTP、HTTPS、TCP高性能使用 C 语言编写&#xff0c;性能极高高可用与 Keepalived 配合可实现主备健…...

VUE CLI - 使用VUE脚手架创建前端项目工程

前言 前端从这里开始&#xff0c;本文将介绍如何使用VUE脚手架创建前端工程项目 1.预准备&#xff08;编辑器和管理器&#xff09; 编辑器&#xff1a;推荐使用Vscode&#xff0c;WebStorm&#xff0c;或者Hbuilder&#xff08;适合刚开始练手使用&#xff09;&#xff0c;个…...

Nginx高级配置

目录 一.网页的状态页 二. Nginx第三方模块 2.1 echo模块 三. 变量 3.1 内置变量 3.2 自定义变量 四. 自定义访问日志 (优化) 4.1 自定义访问日志的格式 4.2 自定义json 格式日志 五. Nginx压缩功能 六 . HTTPS 功能 6.1 https概述 6.2 配置实例-----自签名证…...

Docker镜像搬运工:深入解析export与import,实现容器环境无缝迁移!

Docker作为现代开发运维的利器&#xff0c;其镜像和容器的管理技巧直接影响效率。当我们需要跨环境迁移容器状态时&#xff0c;docker export和docker import这对组合命令就能大显身手。本文带你彻底搞懂它们的核心逻辑、使用场景及避坑指南&#xff01; 一、Docker export&…...

数字孪生实战笔记(1)数字孪生的含义、应用及技术体系

一、含义 数字孪生&#xff08;Digital Twin&#xff09;是一种通过数字化模型在虚拟世界中实时映射和模拟物理实体、系统或过程的技术。它的核心目的是通过对现实对象的建模、感知、分析和预测&#xff0c;实现对物理世界的全面感知、智能控制和优化决策。数字孪生 实体对象 …...

计算机网络 4-2-2 网络层(IPv4)

2.7 网络地址转换NAT 引入端口号&#xff1a;IP地址端口号→一个特定的进程&#xff0c;&#xff08;不同主机可能存在相同端口号&#xff09; 网络层实现了“主机到主机”的通信。网络层在IP数据报的首部&#xff0c;指明源IP地址、目的IP地址 传输层实现了“端到端” &#…...

第二个简单的SpringBoot和Vue前后端全栈的todoapp案例

项目源于哔哩哔哩&#xff0c;按视频手敲了一下&#xff0c;补充上代码和一些细节。 全栈项目实践&#xff1a;1小时快速入门SpringBootvue3element-plus_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LH4y1w7Nd/?spm_id_from333.1387.favlist.content.click&vd_…...

探秘 Canva AI 图像生成器:重塑设计创作新范式

Canva 凭借简洁易用的界面和海量模板资源&#xff0c;早已成为设计师和普通用户的心头好。而 Canva AI 图像生成器的推出&#xff0c;更是为设计领域带来了一场深刻变革&#xff0c;以智能化的手段重塑了图像创作的方式与边界。 技术内核&#xff1a;AI 如何驱动图像生成 Can…...

栈应用:辅助站(c++)

干货 今天讲讲最大辅助栈和最小辅助栈 主栈进入元素的时候 最大辅助栈:保证新元素大于等于(辅助栈)顶的时候&#xff0c;再进入辅助栈这样就能保证最大辅助栈的栈顶元素 是主栈中的最大值 主栈出栈的时候 最大辅助栈:主栈出栈元素如果等于(辅助栈)的栈顶元素&#xff0c;再…...

AI时代的数据可视化:未来已来

你有没有想过&#xff0c;数据可视化在未来会变成什么样&#xff1f;随着人工智能&#xff08;AI&#xff09;的飞速发展&#xff0c;数据可视化已经不再是简单的图表和图形&#xff0c;而是一个充满无限可能的智能领域。AI时代的可视化不仅能自动解读数据&#xff0c;还能预测…...

常见音频主控芯片以及相关厂家总结

音频主控芯片是音频设备&#xff08;如蓝牙耳机、音箱、功放等&#xff09;的核心组件&#xff0c;负责音频信号的解码、编码、处理和传输。以下是常见的音频主控芯片及其相关厂家&#xff0c;按应用领域分类&#xff1a; 蓝牙音频芯片 主要用于无线耳机、音箱等设备&#xff0…...

湖仓一体架构在金融典型数据分析场景中的实践

在数字经济与金融科技深度融合的今天&#xff0c;数据已成为金融机构的核心战略资产。然而&#xff0c;传统数据架构面临着三大困局&#xff0c;制约着金融机构数据价值的充分释放。 一、需求驱动更多银行数据分析场景 金融机构&#xff0c;特别是银行业&#xff0c;面临着双重…...

VBA —— 学习Day5

子程序与函数 子程序&#xff1a;实现特定功能的程序代码块 子程序语法&#xff1a; [修饰符] Sub 子程序名称([参数1&#xff0c;参数2&#xff0c;参数3]) 代码块 End Sub 子程序如何调用&#xff1a; 1 . 子程序名 [参数1&#xff0c;参数2&#xff0c;...] 2. Cal…...

Flink 实时数据一致性与 Exactly-Once 语义保障实战

在构建企业级实时数仓的过程中,“数据一致性” 是保障指标准确性的核心能力,尤其是在金融、电商、医疗等对数据敏感度极高的场景中。Flink 作为流批一体的实时计算引擎,其内建的 Exactly-Once 语义为我们提供了强有力的保障机制。本篇将围绕如何实现端到端的数据一致性、如何…...

Java云原生到底是啥,有哪些技术

☁️ Java云原生&#xff1a;程序员の修仙飞升指南&#xff08;附渡劫技巧&#xff09; 一、修仙世界观&#xff1a;传统程序 vs 云原生程序 &#x1f3e1; 传统Java程序&#xff08;老宅院&#xff09; 特点&#xff1a;单体大瓦房、扩建要拆墙&#xff08;耦合度高&#xf…...

IPM IMI111T-026H 高效风扇控制板

概述&#xff1a; REF-MHA50WIMI111T 是一款专为风扇驱动设计的参考开发板&#xff0c;搭载了英飞凌的IMI111T-026H iMOTION™智能功率模块(IPM)。这个模块集成了运动控制引擎(MCE)、三相栅极驱动器和基于IGBT的功率级&#xff0c;全部封装在一个紧凑的DSO22封装中。REF-MHA50…...

JavaScript基础-局部作用域

在JavaScript中&#xff0c;理解不同种类的作用域是掌握这门语言的关键之一。作用域决定了变量和函数的可访问性&#xff08;即可见性和生命周期&#xff09;。与全局作用域相对应的是局部作用域&#xff0c;它限制了变量和函数只能在其定义的特定范围内被访问。本文将深入探讨…...

[特殊字符]Meilisearch:AI驱动的现代搜索引擎

前言 大家好&#xff0c;我是MAI麦造&#xff01; 上文介绍一了Manticore Search 这款轻量级的搜索引擎&#xff0c;这次又有了新的发现&#xff01;传送门&#xff1a; Elasticsearch太重&#xff1f;它的超轻量的替代品找到了&#xff01; 这是一个让我超级兴奋的AI搜索引…...

K8S Svc Port-forward 访问方式

在 Kubernetes 中&#xff0c;kubectl port-forward 是一种 本地与集群内资源&#xff08;Pod/Service&#xff09;建立临时网络隧道 的访问方式&#xff0c;无需暴露服务到公网&#xff0c;适合开发调试、临时访问等场景。以下是详细使用方法及注意事项&#xff1a; 1. 基础用…...

SD06_前后端分离项目部署流程(采用Nginx)

本文档详细描述了如何在Ubuntu 20.04服务器上从零开始部署Tlias前后端分离系统。Tlias系统由Spring Boot后端&#xff08;tlias-web-management&#xff09;和Vue前端&#xff08;vue-tlias-management&#xff09;组成。 目录 环境准备安装MySQL数据库部署后端项目部署前端项…...

计算机网络:家庭路由器WiFi信号的发射和手机终端接收信号原理?

WiFi路由器与手机之间的信号传输涉及多个技术层面的协作,以下是其工作原理的详细步骤: 一、数据封装与协议处理 应用层数据生成 用户操作(如浏览网页、视频播放)产生数据包,经TCP/IP协议栈逐层封装,添加IP地址(网络层)和MAC地址(数据链路层)。协议封装 数据包被封装…...

【Redis】string

文章目录 string 字符串常用命令设置和获取setgetmget & mset 计数操作incr & incrbydecr & decrbyincrbyfloat 字符串操作appendstrlengetrangesetrange string 字符串 关于 Redis 的字符串&#xff0c;有几点需要注意 Redis 所有的 key 的类型都是字符串类型va…...

vue3的响应式设计原理

Vue 3 的响应式设计是其核心特性之一&#xff0c;依赖于 Proxy 和 依赖收集机制&#xff0c;相比 Vue 2 的 Object.defineProperty&#xff0c;Vue 3 的响应式系统更加高效、灵活且易于维护。 以下是 Vue 3 响应式设计的核心原理&#xff1a; 一、核心机制概览 使用 Proxy 实现…...