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

【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(3)

文章目录

  • 4. 嵌入式系统I/O接口
    • 4.1 GPIO与PWM接口
      • 4.1.1 GPIO接口(General-Purpose Input/Output)
      • 4.1.2 PWM接口(Pulse Width Modulation)
    • 4.2 A/D与D/A接口的基本原理与结构
      • 4.2.1 DA转换(数模转换,Digital-to-Analog Conversion)
      • 4.2.2 AD转换(模数转换,Analog-to-Digital Conversion)
      • 4.2.3 分辨率
      • 4.2.4 精度
    • 4.3 人机交互接口
    • 4.4 输入输出控制
      • 4.4.1 直接程序控制
      • 4.4.2 中断方式
      • 4.4.3 直接存储器存取方式(DMA)
      • 4.4.4 输入输出处理机(IOP)
  • 5. 定时器与计数器
    • 5.1 定时器(Timer)

4. 嵌入式系统I/O接口

4.1 GPIO与PWM接口

4.1.1 GPIO接口(General-Purpose Input/Output)

作用:通用输入/输出接口,用于数字信号的简单控制或检测。
特点

  • 可编程方向:可配置为输入(读取信号)或输出(控制外设)。
  • 电平信号:输出高电平(如3.3V/5V)或低电平(0V),输入检测高低电平。
  • 无协议:直接控制,无需复杂通信协议。
    在这里插入图片描述

典型应用

  • 控制LED开关、读取按键状态。
  • 与传感器(如红外、超声波)简单交互。

4.1.2 PWM接口(Pulse Width Modulation)

作用:通过调节脉冲宽度模拟模拟量输出(如电压、转速)。
特点

  • 周期与占空比
    • 周期(Frequency):脉冲重复频率(如1kHz)。
    • 占空比(Duty Cycle):高电平时间占周期的比例(如50%)。
  • 数字信号模拟模拟量:通过快速开关等效输出中间电压(如电机调速)。

在这里插入图片描述

典型应用

  • 电机速度控制(如无人机电调)。
  • LED调光、舵机(Servo)角度控制。

4.2 A/D与D/A接口的基本原理与结构

4.2.1 DA转换(数模转换,Digital-to-Analog Conversion)

DA转换器(DAC)将数字信号转换为模拟信号。数字信号由一系列的二进制数字表示,而模拟信号则是一个连续变化的物理量,如电压或电流。在DAC中,输入的是一个二进制数,输出是一个与该数值成比例的模拟电压或电流。

  • 工作过程: DAC接收一个n位的二进制数作为输入,并将其转换为相应的模拟输出。这个过程通常通过电阻网络、电容网络或者使用脉冲宽度调制等技术实现。
  • 例子: 如果DAC是8位的,那么它可以表示2^8=256个不同的电压等级。如果参考电压是5V,则最小可分辨的电压变化约为5V/256≈19.5mV。

下面这张图片展示了一个典型的数模转换(DA转换,Digital-to-Analog Conversion)电路图:
在这里插入图片描述

根据图片中的电路图,我们可以看到以下关键组成部分:

(1)数字输入

  • 图中左侧的Bit 0, Bit 1, Bit 2, Bit 3表示数字输入信号,这些信号通常来自微控制器或其他数字设备。

(2)输出运算放大器

  • 在电阻网络的末端,通常会有一个运算放大器作为缓冲器和输出级。
  • 运算放大器的作用是提供低阻抗输出,并确保输出电压稳定。
  • 输出电压Vout是所有电阻分支电流的总和,经过运算放大器后输出。

(3)输出电压计算

对于一个理想的DAC,输出电压Vout可以通过以下公式计算:

V o u t = − ( D 2 n ) ⋅ V r e f V_{out} = -\left(\frac{D}{2^n}\right) \cdot V_{ref} Vout=(2nD)Vref

其中:

  • D 是输入的二进制数(以十进制表示)。
  • n 是DAC的位数。
  • Vref 是参考电压。

4.2.2 AD转换(模数转换,Analog-to-Digital Conversion)

AD转换器(ADC)将连续的模拟信号转换为离散的数字信号。这一过程涉及采样、量化和编码三个主要步骤。

  • 采样: 对模拟信号进行周期性的测量,采样的频率必须至少是信号最高频率的两倍(奈奎斯特定理),以避免混叠现象。
  • 量化: 将每个样本映射到最接近的可能值,这些值来自于有限集合中的数字级别。
  • 编码: 将量化后的值转换为对应的二进制代码。

逐次逼近ADC是一种常用的AD转换方法,它通过逐步逼近的方式将模拟信号转换为数字信号。下面结合图片内容详细说明AD转换过程:
在这里插入图片描述
图片中的电路图关键组成部分:

  • V_in:输入的模拟电压信号。
  • Comparator:比较器,用于比较输入电压和参考电压。
  • AND gate:与门,用于控制计数器的时钟信号。
  • Counter:计数器,生成逐次逼近的二进制代码。
  • DAC:数模转换器,将计数器输出的二进制代码转换为相应的模拟电压。
  • Latch:锁存器,用于保存最终的转换结果。
  • Control:控制单元,负责整个转换过程的协调和控制。

逐次逼近ADC的转换过程可以分为以下几个步骤:

(1) 初始化

  • 在转换开始之前,计数器被清零,DAC输出为0V。
  • 控制单元发出启动信号,开始转换过程。

(2) 比较和计数

  • 计数器从最高位开始,逐位进行逼近。
  • 计数器首先将最高位设为1,其余位设为0,生成一个初步的二进制代码。
  • DAC将这个二进制代码转换为相应的模拟电压V_DAC
  • 比较器将输入电压V_inV_DAC进行比较:
    • 如果V_in > V_DAC,则保持当前位为1,并继续处理下一位;
    • 如果V_in < V_DAC,则将当前位设为0,并继续处理下一位。

(3) 逐次逼近

  • 计数器依次处理每一位,每次都将当前位设为1,然后进行比较。
  • 如果比较结果表明V_in大于或等于V_DAC,则保持该位为1;否则,将该位设为0。
  • 这个过程一直持续到最低有效位(LSB)被处理完毕。

(4) 锁存和输出

  • 当所有位都被处理完毕后,计数器输出的二进制代码即为最终的转换结果。
  • 锁存器将这个结果保存下来,并通过控制单元输出。
  • 控制单元还可以发出完成信号,表示转换过程结束。

4.2.3 分辨率

分辨率是指转换器能够区分的最小输入变化量。对于DAC来说,它决定了输出电压可以有多少个不同的等级;对于ADC而言,则决定了它可以区分的最小模拟电压差。

  • 计算方法: 分辨率通常用比特数来表示。例如,一个10位的ADC/DAC可以提供2^10=1024个不同的等级。
  • 影响: 较高的分辨率意味着更精确的转换能力,但也可能导致更高的成本和复杂性。

4.2.4 精度

精度指的是转换器的实际输出与理论理想值之间的偏差程度。它包括线性误差、增益误差、偏移误差等多种因素。

  • 线性误差: 转换器输出与其理想直线响应之间的最大偏离。
  • 增益误差: 实际满量程输出与理论值之间的差异。
  • 偏移误差: 当输入为零时,输出不为零的情况。

4.3 人机交互接口

接口类型基本原理结构概述
键盘键盘通过按下的按键改变电路状态来发送信号给计算机。每个按键对应一个特定的字符或命令。由按键矩阵、微控制器、接口电路组成。按键按下时,对应的行列交叉点形成闭合电路,微控制器识别并转换为相应的ASCII码或指令集发送给主机。
显示(如LCD/LED屏幕)显示器接收来自计算机的数据,并将其转换为可视信息展示给用户。基于像素点发光或遮光实现图像显示。主要包括显示面板(LCD/LED等)、驱动电路、背光源(对于非自发光面板)、以及控制逻辑单元。控制逻辑将接收到的数据解码成像素点的亮度和颜色值。
触摸屏触摸屏检测用户手指或触控笔的位置,通过电容变化、电阻变化或其他技术感知接触点,然后将位置信息传送给控制系统。通常分为电容式、电阻式等多种类型。结构上包含触摸感应层、透明导电层、支撑基板等。当触摸发生时,感应层捕捉到触摸点的位置信息并通过接口传输给处理器。
声控屏(语音交互系统)利用麦克风收集用户的语音指令,经过音频处理和语音识别算法转化为可执行的命令或文本输入。包括麦克风阵列用于拾音、音频预处理模块(降噪、增益调整)、语音识别引擎(ASR)和自然语言理解模块(NLU)。首先将语音转化为数字信号,然后识别出具体的词汇或短语,最终解释用户的意图。

4.4 输入输出控制

4.4.1 直接程序控制

直接程序控制是最基本的I/O控制方式,它包括无条件传送方式和程序查询方式。

  • 无条件传送方式:这种方式假设外设总是准备好进行数据传输,CPU可以直接读取或写入数据。这种方法简单但效率低,因为如果外设没有准备好,可能会导致数据丢失或错误。

  • 程序查询方式:在这种方式下,CPU通过不断查询外设的状态来判断是否可以进行数据传输。当外设准备好时,CPU才进行数据的读取或写入。虽然避免了数据丢失的问题,但CPU需要频繁地查询外设状态,浪费了大量的处理时间。

4.4.2 中断方式

中断方式是一种改进的I/O控制方法,它允许外设在准备好数据后向CPU发出中断请求,通知CPU进行数据传输。这种方式提高了CPU的利用率,因为它可以在等待外设准备数据的过程中执行其他任务。

  • 当外设准备好数据后,会向CPU发送一个中断信号。
  • CPU暂停当前任务,保存现场信息,然后跳转到中断服务程序中处理数据传输。
  • 数据传输完成后,CPU恢复现场,继续执行被中断的任务。

4.4.3 直接存储器存取方式(DMA)

DMA方式进一步减少了CPU在数据传输过程中的干预,适用于大量数据块的快速传输。

  • 在DMA方式下,数据直接在内存和外设之间传输,不需要CPU的介入。
  • DMA控制器负责管理数据传输的过程,包括设置传输地址、传输长度等参数。
  • 当数据传输完成后,DMA控制器会向CPU发送一个中断信号,通知数据传输完成。

4.4.4 输入输出处理机(IOP)

IOP是一种专门用于管理和控制I/O操作的处理器,它可以独立于CPU执行复杂的I/O任务。

  • IOP具有自己的指令集和存储空间,可以运行专门的I/O程序。
  • 它可以从CPU那里接收I/O命令,然后独立地与外设进行数据交换。
  • 使用IOP可以大大减轻CPU的负担,提高系统的整体性能。

5. 定时器与计数器

5.1 定时器(Timer)

作用:用于时间管理,如延时、周期性任务调度、PWM信号生成等。
工作原理

  • 时钟源:由CPU时钟或外部晶振提供基准频率(如1MHz)。
  • 计数寄存器:递增或递减计数,达到设定值后触发中断或输出信号。
  • 工作模式
    • 单次模式(One-shot):计数到设定值后停止,需手动重启。
    • 自动重载模式(Auto-reload):计数到设定值后自动重置,实现周期性触发。

示例

  • 在STM32中,配置定时器实现1ms延时:
    • 时钟源=72MHz,分频后1MHz → 计数值=1000(1ms)。

相关文章:

【嵌入式系统设计师(软考中级)】第二章:嵌入式系统硬件基础知识(3)

文章目录 4. 嵌入式系统I/O接口4.1 GPIO与PWM接口4.1.1 GPIO接口&#xff08;General-Purpose Input/Output&#xff09;4.1.2 PWM接口&#xff08;Pulse Width Modulation&#xff09; 4.2 A/D与D/A接口的基本原理与结构4.2.1 DA转换&#xff08;数模转换&#xff0c;Digital-…...

【网络安全】社会工程学策略

1. 社会工程学简介 社会工程攻击是威胁行为者常用的攻击方式。这是因为&#xff0c;诱骗人们提供访问权限、信息或金钱通常比利用软件或网络漏洞更容易。 您可能还记得&#xff0c;社会工程学是一种利用人为错误来获取私人信息、访问权限或贵重物品的操纵技术。它是一个涵盖性…...

ROS2---时间戳对齐

一、ROS2时间系统架构 时间模型 仿真时间&#xff08;Simulation Time&#xff09;&#xff1a;由/clock话题驱动&#xff0c;适用于离线仿真与调试。真实时间&#xff08;Real Time&#xff09;&#xff1a;基于系统硬件时钟&#xff0c;支持PTP协议&#xff08;IEEE 1588&…...

C语言教程(十五):C 语言函数指针与回调函数详解

一、函数指针 1.1 函数指针的概念 在 C 语言中&#xff0c;函数指针是指向函数的指针变量。每个函数在内存中都有一个起始地址&#xff0c;函数指针就存储了这个起始地址&#xff0c;通过函数指针可以调用相应的函数。 1.2 函数指针的定义 函数指针的定义语法如下&#xff1a;返…...

VSCode如何修改默认扩展路径和用户文件夹目录到其他盘以及微信开发工具如何修改扩展路径到其他盘

ps:因公司电脑c盘内存严重不足&#xff0c;而出本篇文章 1.Visual Studio Code 随着VsCode的使用时间的推移&#xff0c;安装的扩展以及数据逐步增多&#xff0c;导致c盘内存占用较大&#xff0c;所以这里将vscode的默认缓存路径等迁移到其他盘。 步骤如下 1.找到默认的存储…...

抽象类相关

抽象类的定义 抽象类 是一种特殊的类&#xff0c;它不能被实例化&#xff0c;只能作为基类来派生出具体类。抽象类至少包含一个纯虚函数 。纯虚函数是在函数原型前加上 0 的虚函数&#xff0c;表示该函数没有具体实现&#xff0c;必须由派生类来实现。 抽象类的作用 提供统…...

如何测试短信接口

目录 一、测试短信接口的基本流程 1. 了解短信接口文档 2. 使用工具测试短信接口 示例一&#xff1a;用 curl 测试 POST 请求 示例二&#xff1a;用 Postman 设置 POST 请求 3. 编写测试脚本&#xff08;Python 示例&#xff09; 二、测试类型和场景 ✅ 正常发送测试 …...

pycharm2024.3.2项目解释器选择问题

问题描述&#xff1a;已经选择了pyau虚拟环境的解释器&#xff0c;运行了conda activate pyau&#xff0c;但是为什么关闭pycharm2024.3.2软件重新启动后&#xff0c;打开终端是(base) PS D:\deepseektest> &#xff0c;为什么不是(pyau) PS D:\deepseektest> 解决问题&a…...

如何在 Dialog 中安全初始化 ECharts 并自动监听容器大小变化

如何在 Dialog 中安全初始化 ECharts 并自动监听容器大小变化 在使用 ECharts 的 Vue 项目中&#xff0c;我们常常会将图表放入弹窗&#xff08;如 Element UI 的 <el-dialog>&#xff09;中进行展示。但你是否遇到过以下问题&#xff1a; 图表初次显示尺寸异常&#x…...

如何借助ETL数据集成工具实现数据一致性?

主要可以从以下几个方面入手&#xff1a; 一、数据抽取阶段&#xff08;Extract&#xff09; 统一数据源连接方式&#xff1a;ETL工具通常支持多种数据源连接方式&#xff0c;如关系型数据库、非关系型数据库、文件系统、API接口等。在抽取数据时&#xff0c;要确保对各个数据…...

3.4/Q1,GBD数据库最新文章解读

文章题目&#xff1a;Burden of Carbon Monoxide Poisoning in Asian Countries From 1990 to 2021 and Its Projection Until 2030: An Analysis of the Global Burden of Disease Study 2021 DOI&#xff1a;10.2147/CLEP.S512786 中文标题&#xff1a;1990 年至 2021 年亚洲…...

【高中数学/古典概率】4红2黑六选二,求取出两次都是红球的概率

【问题】 袋子里装4只红球&#xff0c;2只黑球&#xff0c;大小完全相同&#xff0c;抽两次球&#xff0c;每次抽一只&#xff0c;抽出后不再放回&#xff0c;求取出的两次都是红球的概率。 【来源】 数林外传系列之《概率与期望》P20 单埻著 中国科学技术大学出版社 【数学…...

机器人操作中的生成式 AI:综述(上)

25年3月来自香港大学、香港理工、香港科大、浙大和清华大学的论文“Generative Artificial Intelligence in Robotic Manipulation: A Survey”。 本综述全面回顾机器人操作领域生成学习模型的最新进展&#xff0c;并探讨该领域的关键挑战。机器人操作面临着关键瓶颈&#xff…...

Spring AI 核心概念

本文是对Spring AI中涉及到的AI相关核心概念的介绍&#xff0c;笔者结合LangChain、LlamaIndex的使用经验&#xff0c;尝试尽可能清晰的把这些概念解释清楚. 读者也可以参考官方文档作为补充. 模型 提到AI模型&#xff0c;我们的第一印象一定是GPT,DeepSeek这样的大语言模型(…...

第53.5讲 | 小项目实战:用 SHAP 值解释农作物产量预测模型 [特殊字符][特殊字符]

目录 ✅ 项目背景 &#x1f4e6; 所用工具 &#x1f4c1; 数据字段&#xff08;模拟&#xff09; &#x1f9d1;‍&#x1f4bb; 代码实现步骤 &#x1f3af; 解读与启发 &#x1f9e0; 项目拓展建议 ✅ 项目背景 我们使用一个简化的玉米产量数据集&#xff08;可模拟实…...

Linux编译器-gcc/g++使用

1.预处理&#xff08;进行宏替换&#xff09; -E开始进行程序编译&#xff0c;在预处理做完的时候&#xff0c;停下来 2.编译&#xff08;生成汇编&#xff09; -S 开始编译&#xff0c;编译做完了就停下来 3.汇编&#xff08;生成机器可识别代码&#xff09; -c 开始翻译汇编…...

SEO的关键词研究与优化 第二章

回顾上一篇文章, 3. 关键词评估和选择 关键词评估和选择是SEO策略中至关重要的一步。这个过程不仅仅是选择搜索量最高的词&#xff0c;而是要在多个因素之间找到平衡&#xff0c;以确定最有价值的关键词。 3.1 搜索量分析 搜索量是评估关键词潜力的首要指标&#xff0c;但它不应…...

数据结构数组

数组特点 内存是连续的,所以地址可以偏移&#xff0c;支持下标访问。 优点 下标访问&#xff08;随机访问&#xff09;的时间复杂度是O(1)&#xff0c;末尾增加和删除元素的时间复杂度是O(1)。 访问元素前后相邻位置方便&#xff0c;因为数组每个位置内存是连续的&#xff…...

vscode插件系列-2、认识vscode

​ 这一章&#xff0c;我将带你重新认识vscode 一、工作区划分 1、活动条&#xff08;Activity Bar&#xff09; 活动条是一个核心的导航&#xff0c;扩展可以通过在View Containers中配置&#xff0c;从而渲染Views中的视图。 具体来说就是在package.json中配置如下&…...

Java学习手册:TCP 协议基础

一、TCP 协议概述 TCP&#xff08;Transmission Control Protocol&#xff0c;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;它在 IP 协议的基础上提供了可靠的 数据传输服务。TCP 通过三次握手建立连接&#xff0c;通过四次挥手…...

摘要 | 李录在北大光华管理学院的演讲《价值投资》

李录在北大光华管理学院的演讲《价值投资》是中文投资领域极具影响力的经典内容&#xff0c;尤其是2019年11月的演讲版本。该演讲视频时长90分钟&#xff0c;主要内容围绕价值投资的理论框架、实践难点以及在中国市场的应用展开。以下是该演讲的核心要点解析&#xff1a; 一、价…...

让Docker端口映射受Firewall管理而非iptables

要让Docker容器的端口映射受系统防火墙(如firewalld或ufw)管理&#xff0c;而不是直接通过iptables&#xff0c;可以按照以下步骤配置&#xff1a; 方法一&#xff1a;禁用Docker的iptables规则 &#xff08;1&#xff09;编辑Docker配置文件&#xff1a; vi /etc/docker/da…...

数据库数据删除与修改实验

数据库数据删除与修改实验 在数据库原理的学习中&#xff0c;数据的删除与修改是核心操作技能。通过“删除修改数据”实验&#xff0c;我系统实践了 SQL 中 UPDATE 和 DELETE 语句的多种应用场景&#xff0c;从基础语法到复杂业务逻辑处理&#xff0c;积累了丰富的实战经验。本…...

多回路电表如何革新电力监控?安科瑞技术深度解析

安科瑞顾强 安科瑞电气股份有限公司作为国内领先的能源管理方案提供商&#xff0c;其多回路智能电表系列&#xff08;如AMC200、AMC300L、ADW200-D10-4S等&#xff09;凭借多回路计量、高精度测量、无线物联等核心优势&#xff0c;在工业、商业及智能电网领域广泛应用。以下从…...

【云计算】云计算中IaaS、PaaS、SaaS介绍

0 随着云计算、大数据、人工智能发展迅速&#xff0c;布局“云”已经是互联网企业共识。云计算的服务类型分为三种&#xff0c;分别为IaaS、PaaS、SaaS&#xff0c;这三个分别是什么意思&#xff0c;今天做一个简单的介绍和了解。 一、云计算 云计算是用户需求通过Internet获…...

Ubuntu中选择Python虚拟环境

背景 在Ubuntu系统中&#xff0c;如果希望通过一个简单的命令&#xff08;例如activate&#xff09;快速查找并激活Python虚拟环境&#xff0c;是可以通过Bash脚本实现的。该脚本的核心功能包括&#xff1a;递归扫描用户家目录&#xff08;~&#xff09;中所有非隐藏文件夹&am…...

Nginx 安装与配置全流程指南(2025 最新版)

一、环境准备与依赖安装 1.1 系统要求 操作系统&#xff1a;支持主流 Linux 发行版&#xff08;Ubuntu 20.04/CentOS 7/Debian 10&#xff09;硬件配置&#xff1a;内存 ≥512MB&#xff0c;磁盘 ≥10GB 可用空间&#xff08;建议使用 SSD&#xff09;网络要求&#xff1a;开…...

WAMP设置外网访问

系统&#xff1a;windows 软件&#xff1a;wampserver 设置允许外网访问 1.修改apache的httpd-vhosts.config # Virtual Hosts # <VirtualHost _default_:80>ServerName localhostServerAlias localhostDocumentRoot "${INSTALL_DIR}/www"<Directory "…...

NXP----SVR5510芯片layout设计总结

​ 1&#xff0c;Pinout Information&#xff1a; ​ VR5510是S32G应用处理器的拟议电源管理集成电路&#xff08;PMIC&#xff09;。它是一款汽车多输出PMIC&#xff0c;主要用于网关、ADAS、V2X和信息娱乐应用。下面的方框图展示了其主要特点。 2&#xff0c;封装设计&…...

面试之消息队列

消息队列场景 什么是消息队列&#xff1f; 消息队列是一个使用队列来通信的组件&#xff0c;它的本质就是个转发器&#xff0c;包含发消息、存消息、消费消息。 消息队列怎么选型&#xff1f; 特性ActiveMQRabbitMQRocketMQKafka单机吞吐量万级万级10万级10万级时效性毫秒级…...

[创业之路-386]:企业法务 - 知识产权的刑事风险

知识产权的刑事风险是指因侵犯他人知识产权而可能面临的刑事法律责任。 对于初创公司而言&#xff0c;了解并防范此类风险至关重要&#xff0c;以下从不同知识产权类型展开详细分析&#xff1a; 一、侵犯商标权的刑事风险 风险表现&#xff1a;未经注册商标所有人许可&#…...

Freertos----中断管理

一、中断概念 在RTOS中&#xff0c;需要应对各类事件。这些事件很多时候是通过硬件中断产生&#xff0c;怎么处理中断呢&#xff1f; 假设当前系统正在运行Task1时&#xff0c;用户按下了按键&#xff0c;触发了按键中断。这个中断的处理流程如下&#xff1a; CPU跳到固定地…...

4.4 记忆机制与上下文管理:短期与长期记忆的设计与应用

记忆机制与上下文管理已成为智能代理&#xff08;Agent&#xff09;系统实现高效、智能化行为的核心技术。记忆机制通过短期记忆&#xff08;Short-Term Memory, STM&#xff09;和长期记忆&#xff08;Long-Term Memory, LTM&#xff09;支持Agent存储、检索和利用信息&#x…...

ERROR: x264 not found using pkg-config

x264 编译加上了参数&#xff0c;–prefix/usr/local/x264/&#xff0c;找不到x264.pc ffmpeg安装过程中configure报错&#xff1a; sudo ./configure --enable-gpl --enable-libx264 --enable-shared --extra-ldflags-L/usr/lib --extra-cflags-I/usr/include --pkg-config“…...

SpringBoot 封装统一API返回格式对象 标准化开发 请求封装 统一格式处理

统一HTTP请求代码 public class HttpCode {/*** 操作成功*/public static final int SUCCESS 200;/*** 对象创建成功*/public static final int CREATED 201;/*** 请求已经被接受*/public static final int ACCEPTED 202;/*** 操作已经执行成功&#xff0c;但是没有返回数据…...

架构-系统可靠性分析与设计

一、可靠性相关基本概念 1. 可靠性与可用性 可靠性&#xff1a;软件系统在遇到错误、意外操作或系统故障时&#xff0c;仍能维持自身功能特性的能力。 举例&#xff1a;手机银行APP在用户误操作&#xff08;如快速点击多次转账&#xff09;时&#xff0c;仍能正确处理交易并避…...

Tailwind CSS 初学者入门指南:项目集成,主要变更内容!

网站名称类型网址Tailwind CSS 官方文档官方文档https://tailwindcss.com/docsTailwind Play在线编辑器https://play.tailwindcss.com/Tailwind Awesome资源集合https://www.tailwindawesome.com/Tailwind CSS 中文文档中文文档https://www.tailwindcss.cn/komavideo/LearnTail…...

HOJ.单词统计

目录 题目算法标签: 模拟, 字符串操作思路代码*后续 A C AC AC代码 题目 一段英语短文的内容记录于 lines 中&#xff0c;每行输入 lines[i] 仅包含 a-z , . , -&#xff0c;即英文小写字母&#xff0c;空格&#xff0c;逗号&#xff0c;句号和续行符。 请统计单词数量&#…...

C++ round 函数笔记 (适用于算法竞赛)

在算法竞赛中&#xff0c;处理浮点数并将其转换为整数是常见的需求&#xff0c;round 函数是标准库提供的用于执行“四舍五入”到最近整数的工具。理解其工作方式和潜在问题对于避免错误至关重要。 1. 基本用法 头文件 要使用 round 函数&#xff0c;需要包含 <cmath>…...

远程访问服务器的Jupyter Notebook

在 Linux 服务器上安装 Jupyter Notebook 可以直接调用服务器资源,适合处理大规模数据处理、复杂模型训练等计算密集型任务,避免本地设备算力不足的限制。 一、安装 Jupyter Notebook(在服务器上) 激活 conda 环境安装 conda install jupyter notebook 关于安装命名 1.…...

DNS实验

DNS原理 客户端发起请求&#xff1a;客户端向本地 DNS 服务器发送域名解析请求&#xff0c;这是流程的起始点。本地 DNS 服务器查询根域名服务器&#xff1a;若本地 DNS 服务器缓存中无对应记录&#xff0c;它向根域名服务器发起查询&#xff0c;根域名服务器是 DNS 系统顶层&a…...

SQL实战:02之连续数问题求解

文章目录 概述题目:体育馆的人流量题解步骤一&#xff1a;构造出一个连续序列步骤二&#xff1a;找出符合条件的组的序号步骤三&#xff1a;fetch结果&#xff0c;使用内连接过滤出符合条件的记录。完整SQL 题目二&#xff1a;连续出现的数字题解步骤一&#xff1a;分区并构建连…...

【C++】STL之deque

deque Deque 的底层既不直接依赖 vector 也不依赖 list&#xff0c;而是结合了两者的思想&#xff0c;采用了一种分块&#xff08;chunk&#xff09;存储与动态指针数组&#xff08;map&#xff09;结合的结构。以下是详细分析&#xff1a; 1. 底层结构设计 Deque 的核心设计…...

HTB - BigBang靶机记录

HTB - BigBanghttps://mp.weixin.qq.com/s/D7yR00kHdiIfoOFk_jHa9w...

AI时代的能力重构与终身进化

在数字技术加速迭代、职业边界日益模糊的当下,自我提升已从“阶段式学习”演变为“持续性进化”。这一转型的底层逻辑在于:个体能力需从“知识积累”转向“能力重构”,以适应AI技术重塑的社会分工与价值创造模式。本文将从认知升级、技能进化、生态构建三个维度,解析AI时代…...

Java—— 正则表达式 方法及捕获分组

识别正则表达式的方法 方法名说明public String[] matches(String regex) 判断字符串是否满足 正则表达式的规则 public string replaceAll(String regex,string newstr) 按照正则表达式的 规则进行替换 public string[] split(String regex) 按照正则表达式的 规则切割字符串…...

《100天精通Python——基础篇 2025 第2天:Python解释器安装与基础语法入门》

目录 一、Windows安装Python1.1 下载并安装 Python1.2 测试安装是否成功 二、Linux系统安装Python(新手可以跳过)2.1 基于RockyLinux系统安装Python(编译安装)2.2 基于Ubuntu系统安装Python(编译安装)2.3 macOS 安装python解释器 三、如何运行Python程序&#xff1f;3.1 Python…...

Linux平台实现低延迟的RTSP、RTMP播放

在流媒体播放器的开发过程中&#xff0c;RTSP&#xff08;实时流协议&#xff09;和RTMP&#xff08;实时消息协议&#xff09;是广泛应用的流媒体协议。本博客将介绍如何使用大牛直播SDK实现一个Linux平台下的RTSP/RTMP播放器。大牛直播SDK的Linux平台播放SDK&#xff0c;支持…...

安宝特案例 | AR技术在院外心脏骤停急救中的革命性应用

00 案例背景 在院外心脏骤停 (OHCA) 的突发救援中&#xff0c;时间与效率直接决定着患者的生命。传统急救模式下&#xff0c;急救人员常通过视频或电话与医院医生进行沟通&#xff0c;以描述患者状况并依照指令行动。然而&#xff0c;这种信息传递方式往往因信息不完整或传递延…...

chili3d调试笔记9 参数化建模+ai生成立方体

mainwindow 怎么渲染boxnode https://github.com/ticket180/chili3d chili3d ai画立方体...