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

STM32自己从零开始实操08:STM32主控原理图

由于老师使用的各引脚分门别类的单片机原理图我没有找到,我使用是引脚按顺序摆放的,不方便一个模块一个模块截图展示,所以这部分使用老师的原理图。

一、电源

1.1电源的介绍

1.1.1数字电源和地(VDD和VSS)

数字电源引脚提供电压给所有的数字电路部分。这些数字电路包括:

  • 处理器核心: 执行指令、处理数据。
  • 存储器: 包括 Flash 和 SRAM,用于存储程序和数据。
  • 数字外设: 包括 GPIO、UART、SPI、I2C、TIMERS 等,用于各种数字通信和控制。
  • 内部振荡器: 产生时钟信号以驱动处理器和其他外设。

数字地引脚提供了所有数字电路部分的接地参考点,有:

  • 所有通过 VDD 供电的电流最终都会返回 VSS,以形成一个完整的电流回路。
  • 在 PCB 设计中,所有的 VSS 引脚通常都连接到一个共同的地平面,以减少电噪声和干扰。

1.1.2模拟电源和地(VDDA和VSSA)

模拟电源引脚提供电压给所有的模拟电路部分。主要包括:

  • ADC(模数转换器): 将模拟信号转换为数字信号。
  • DAC(数模转换器): 将数字信号转换为模拟信号。
  • 内部参考电压源: 提供一个稳定的参考电压给 ADC 和 DAC ,确保转换精度。

模拟地引脚提供了所有模拟电路部分的接地参考点,有:

  • 与 VSS 相同,所有通过 VDDA 供电的电流最终都会返回 VSSA,以形成一个完整的电流回路。

1.1.3两电源的区别与联系

数字电路通常会产生高频开关噪声,这些噪声如果直接干扰到模拟电路,会导致模拟信号的不稳定和精度下降。因此,使用独立的模拟电源和接地可以减少这种干扰。

模拟电路需要一个非常干净、稳定的电源,以确保精确的信号处理,因此 VDDA 通常通过额外的滤波电路进行去耦。

为了减少数字电路产生的高频噪声对模拟电路的干扰,VSSA 和 VSS 通常在 PCB 设计中被单独处理,只有在一个单点连接,通常是靠近电源入口的地方。

1.2滤波介绍

将 3.3V 的电源引入供单片机使用。

(1)120R 磁珠

  • 作用: 磁珠是一种高频阻抗元件,串联在电源线上,阻止高频噪声沿电源线传播。
  • 原理: 磁珠在直流和低频交流信号下表现为低阻抗,但在高频下表现为高阻抗,从而滤除高频噪声。
  • 选择: 120Ω 的磁珠通常用于中等频率范围的噪声抑制。它在高频范围内提供足够的阻抗来衰减噪声。

(2)10µF 电容

  • 作用: 10µF 电容用于低频滤波,平滑直流电压,消除较低频率的电源波动。
  • 原理: 较大电容值在低频下有较小的阻抗,可以有效地平滑直流电压和滤除低频噪声。
  • 位置: 10µF 电容通常放置在电源入口处,以平滑整个电源网络的电压。

(3)0.1µF 电容

  • 作用: 0.1µF 电容用于高频滤波,抑制高频噪声和尖峰干扰。
  • 原理: 较小电容值在高频下有较小的阻抗,可以有效地滤除高频噪声和尖峰干扰。
  • 位置: 0.1µF 电容通常放置在每个 VDD/VDDA 引脚附近,尽量靠近 IC,以提供最有效的高频噪声滤波。 

(4)10nF 电容

  • 补充滤波频段: 与其他滤波电容(10µF、0.1µF)结合使用,可以覆盖更宽的频率范围,为模拟电源提供全频段的电源噪声抑制(上面也说了模拟电源需要非常的纯净)。

1.3电路图

1.4陈氏理解(可能只有我自己能看懂)

数字信号(数字电源供电)比如信号线上的差分信号,1 就是 1 , 0 就是 0 ,差别还是挺大的,不容易混淆,但是变化快,存在对其他形式信号的干扰(此处就是指模拟信号),所以将数字信号和模拟信号区分开了。

再其次,模拟信号不像数字信号那样 1 就是 1 ,0 就是 0 ,它的值是多少会换算成相应的二进制数字,所以更要准确,滤波也更严格。

二、复位

2.1工作过程

  1. 正常工作状态: 当复位按钮未按下时,上拉电阻将 RST 引脚维持在高电平。此时,微控制器处于正常工作状态。
  2. 按下复位按钮: 当按下复位按钮时,RST 引脚被直接拉低到地。这触发了微控制器的复位过程。
  3. 释放复位按钮: 当释放复位按钮时,RST 引脚通过上拉电阻恢复到高电平。需要去耦电容帮助滤除任何在恢复过程中的瞬态噪声(也有按下过程的去耦),确保 RST 引脚稳定地返回高电平,从而使微控制器从复位状态中正常启动。

2.2特殊情况

  • 外部干扰: 在有较强电磁干扰的环境中,复位引脚可能会受到干扰,导致误复位。适当的滤波电路(如更大的电容或更低的上拉电阻)可以进一步增强抗干扰能力。
  • 复位时间: 去耦电容的值决定了复位信号的时间常数。较大的电容会导致较长的复位时间,但可以更好地滤除低频噪声。需要根据实际应用进行选择。

2.3我有一个愚蠢的问题

问:为什么上拉到的电源是数字电源 VDD 而不是模拟电源 VDDA ?

答:

1. 电源稳定性

VDD 稳定性: VDD 是数字电源,通常由稳压器直接供电,电压相对稳定,且开机时能快速达到稳定值。复位电路需要一个稳定的电压源来保证复位信号的可靠性。

VDDA 依赖 VDD: VDDA 是模拟电源,虽然也很稳定,但它通常依赖于 VDD 的供电,在一些设计中,VDDA 可能会经过滤波和调节以满足模拟电路的需求,启动速度和稳定性可能稍微慢于 VDD。

2. 复位电路对数字电路的作用

复位电路主要针对数字电路: 复位信号主要用于重置 STM32 内部的数字电路(包括 CPU 和外设)。数字电路的工作电压是 VDD,因此复位引脚上拉到 VDD 更为合适。

3. 电源电流负载考虑

VDD 电流能力强: VDD 电源的电流供应能力通常大于 VDDA,因为它要供电给整个数字部分,包括处理器、内存和外设等。上拉电阻的电流负载对 VDD 的影响微乎其微。

VDDA负载要求高: VDDA 电源主要供电给模拟部分(如 ADC、DAC 等),这些电路对电源的纹波和噪声要求更高。将上拉电阻连接到 VDDA 可能会引入不必要的负载和噪声,影响模拟电路的性能。

2.4电路图

三、BOOT 启动

3.1介绍

BOOT 引脚( BOOT0 和 BOOT1 )用于选择微控制器的启动模式。通过不同的引脚电平组合,可以选择不同的启动模式,如下图所示:

3.2电路

将单片机的 BOOT0 和 BOOT1 引脚引出,通过 2×3 的公排针,可以通过跳线帽向上选择VDD_MCU (1),向下选择 GND (0),来配置单片机的启动模式。老师选择的启动方式为:从内置 SRAM 启动,如下图。

四、晶体电路

4.1 为什么STM32需要两个晶振电路?

STM32微控制器通常使用两个晶振电路是为了满足不同的时钟需求:

  • 主晶振电路(8MHz): 用于提供主系统时钟(HSE, High-Speed External Clock)。这个时钟源通常用于微控制器的核心处理单元、高速外设(如USB、CAN等),以及需要高精度、高速时钟的功能。
  • 副晶振电路(32.768kHz): 用于提供低功耗时钟(LSE, Low-Speed External Clock)。这个时钟源通常用于实时时钟(RTC, Real-Time Clock)和低功耗模式下的计时功能。32.768kHz的频率正好适合计时,因为它可以方便地用于生成1秒的时钟周期(32,768是2的15次方,适合二进制计数)。

4.2 为什么这两个晶振电路的频率是那样?

选择不同频率和规格的晶振主要基于以下原因:

  • 8MHz晶振(主晶振):

    • 频率选择: 8MHz是一个常用的高频率,能够满足STM32核心和高速外设的时钟需求。
    • 负载电容(22pF): 确保晶振在该频率下的稳定性和可靠性。22pF是常见的负载电容值,用于匹配晶振的负载要求。
  • 32.768kHz晶振(副晶振):

    • 频率选择: 32.768kHz是标准的RTC晶振频率,适用于低功耗时钟应用。
    • 负载电容(10pF): 这种低值电容适合低频率晶振,确保其在低频下的稳定振荡。

4.3 晶振电路是怎么运作的?(更容易理解4.4和4.5的问题)

(1)晶振起振

  • 当电源接通时,晶振开始产生微弱的振荡信号。
  • 该信号通过OSC_IN引脚进入STM32内部振荡器电路。

(2)负载电容调节

  • C1和C2电容与晶振一起工作,确保晶振以其标称频率振荡。
  • 负载电容值通常选取在10pF到22pF范围内,但实际值应根据晶振的规格书和电路板的寄生电容进行调整。

(3)信号放大

  • STM32内部的振荡器电路对输入的微弱振荡信号进行放大,生成一个稳定的时钟信号。
  • 这个稳定的时钟信号通过OSC_OUT引脚输出,并作为系统时钟供STM32使用。

(4)信号反馈

  • 振荡器电路将放大的振荡信号通过OSC_OUT引脚反馈回晶振电路,继续维持晶振的振荡。
  • 这个反馈环路确保晶振能够持续产生稳定的振荡信号。

(现在你就清楚了晶振电路中存在的一个回路了。)

4.4 为什么主晶振电路OSC有大电阻?有什么作用吗?

主晶振电路中包含一个1MΩ的大电阻(通常连接在OSC_IN和OSC_OUT之间),其主要作用如下:

  • 防止启动困难: 大电阻提供了一个初始反馈路径,有助于晶振在上电时快速启动,避免由于初始状态不稳定导致的启动困难。
  • 稳定振荡: 大电阻能够稳定振荡器的启动过程,确保振荡器能够在启动后快速进入稳定状态。

(说的通俗一点就是快一点形成4.3中说的电流回路。)

4.5 为什么副晶振电路OSC32没有大电阻?

副晶振电路通常不需要大电阻的原因包括:

  • 频率和功率低: 32.768kHz的晶振工作在非常低的频率和功率下,启动相对容易,不需要额外的电阻来帮助启动。
  • 低功耗设计: 副晶振电路通常用于RTC和低功耗应用,添加大电阻会增加功耗,不符合低功耗设计的要求。

4.6电路图

五、RTC 实时时钟

5.1 VBAT 引脚的功能

VBAT 引脚用于为 RTC 和备份寄存器供电,以便在主电源断开时,RTC 仍能继续运行。

5.2设计原理

  1. 主电源供电(VDD_MCU): 当主电源(VDD_MCU)供电时,BAT54-C 二极管正向偏置,VBAT 引脚通过二极管获得 VDD_MCU 的电压,RTC 和备份寄存器正常工作。
  2. 备用电源供电: 当主电源断开时,BAT54-C 二极管防止电流反向流动,RTC 和备份寄存器可以通过 ZH1.25-2A 连接器从备用电源(如纽扣电池)继续供电,确保 RTC 的时间和备份数据不会丢失。

5.3原理图

5.3.1BAT54-C二极管的作用

  1. 保证供电: 当主电源存在时,二极管正向偏置,保证 VBAT 引脚获得稳定的电压供电;当主电源断开时,二极管反向偏置,备用电源立即接替供电,保证 RTC 持续运行。
  2. 防止反向电流: 确保在主电源断开时,备用电源电流不会流回到主电源电路,避免不必要的电能消耗和可能的电路损坏。同时也保证在主电源正常供电时,芯片的电流不会回流到备用电池中,造成损害。

5.3.2 ZH1.25-2A连接器的作用

  1. 备用电源接口: 提供一个连接备用电源的接口,可以方便地连接和更换电池或其他备用电源。
  2. 确保供电路径: 通过 ZH1.25-2A 连接器,备用电源可以可靠地提供电压给 VBAT 引脚,确保RTC的供电不中断。

六、Flash 芯片

在STM32微控制器中,外部Flash存储器(如W25Q64JVSSIQ)通常用于存储固件、数据日志或其他需要非易失性存储的应用。

电路设计与工作原理

1. CS# (Chip Select):
  • 设计: CS#引脚通过PA15引脚控制。低电平激活芯片,高电平关闭芯片。
  • 原理: 当CS#为低电平时,Flash芯片被选中,STM32可以与其通信;当CS#为高电平时,Flash芯片处于非活动状态,多个SPI设备可以共享同一条SPI总线。
2. SO (Serial Output):
  • 设计: SO引脚通过PB4引脚(MISO,Master In Slave Out)连接到STM32。
  • 原理: 用于在SPI通信中将数据从Flash芯片发送到STM32。
3. WP# (Write Protect):
  • 设计: WP#引脚直接连接到3.3V电源。
  • 原理: 将WP#连接到高电平(3.3V)禁用写保护功能,使能写操作。
4. GND (Ground):
  • 设计: GND引脚连接到地。
  • 原理: 提供芯片的电源回路。
5. SI (Serial Input):
  • 设计: SI引脚通过PB5引脚(MOSI,Master Out Slave In)连接到STM32。
  • 原理: 用于在SPI通信中将数据从STM32发送到Flash芯片。
6. CLK (Clock):
  • 设计: CLK引脚通过PB3引脚连接到STM32。
  • 原理: 提供SPI通信的时钟信号,由STM32生成并控制。
7. HOLD3#:
  • 设计: HOLD3#引脚连接到3.3V电源。
  • 原理: 将HOLD3#连接到高电平(3.3V)禁用暂停功能,使Flash芯片正常工作。
8. VCC (Power Supply):
  • 设计: VCC引脚连接到3.3V电源。
  • 原理: 为Flash芯片提供工作电压。

电源滤波电路

  • 设计: 3.3V电源通过0.1uF电容连接到地。
  • 原理: 去耦电容用于滤除电源线上的高频噪声,稳定供电,确保Flash芯片正常工作。

电路运行

  1. 上电: 3.3V电源为Flash芯片提供电源,电容滤除电源噪声。
  2. SPI通信: STM32通过SPI接口(PA15, PB3, PB4, PB5引脚)与Flash芯片通信:
    • PA15控制CS#,选择芯片。
    • PB3提供时钟信号(CLK)。
    • PB5发送数据到Flash芯片(MOSI)。
    • PB4接收Flash芯片的数据(MISO)。

为什么这样设计

  1. 标准SPI接口: 这种连接方式符合SPI协议,便于STM32与Flash芯片通信。
  2. 写保护: WP#连接到高电平,确保写操作不被禁用,方便数据写入。
  3. 暂停功能: HOLD3#连接到高电平,禁用暂停功能,确保正常操作。
  4. 滤波电路: 0.1uF电容滤除电源噪声,保障电源稳定,避免因噪声导致的通信错误。

其他设计方法

  1. 硬件写保护: 如果需要硬件写保护功能,可以将WP#引脚连接到STM32的一个GPIO引脚,通过软件控制写保护状态。
  2. 使用较大电容: 在电源滤波电路中,可以根据实际情况使用更大容量的电容(如1uF或10uF)进一步平滑电源电压。
  3. 增加缓冲电路: 在噪声较大的环境中,可以在SPI信号线上增加缓冲电路,提高通信可靠性。

疑惑1:多个SPI设备共享同一条SPI总线

SPI(Serial Peripheral Interface)是一种全双工的通信协议,支持主设备(Master)与多个从设备(Slave)之间的通信。你的电路设计中只有一个SPI从设备,但为了更全面地解释,提到了SPI总线的共享能力。多个SPI设备共享同一条SPI总线的原因和方法如下:

为什么共享同一条SPI总线?
  1. 节省引脚: STM32或其他主控设备的引脚数量有限,通过共享SPI总线,可以连接多个SPI从设备而不增加额外的引脚需求。
  2. 硬件资源复用: 共享SPI总线可以最大化利用现有的硬件资源,不需要为每个SPI从设备单独配置一条SPI总线。
如何实现多个SPI设备共享同一条SPI总线?
  • 共用时钟和数据线: 所有从设备共享主设备的SCK(时钟),MOSI(主输出从输入),MISO(主输入从输出)引脚。
  • 独立的芯片选择引脚: 每个从设备都有独立的CS#(Chip Select)引脚。通过控制不同的CS#引脚,可以选择与哪一个从设备进行通信。只有被选择的从设备会响应主设备的SPI指令。

例如:

  • 设备A: CS_A 连接到 STM32 的一个 GPIO 引脚。
  • 设备B: CS_B 连接到 STM32 的另一个 GPIO 引脚。

在通信时:

  • 当需要与设备A通信时,将CS_A置低,CS_B置高。
  • 当需要与设备B通信时,将CS_B置低,CS_A置高。

疑惑2:在SPI信号线上增加缓冲电路

在噪声较大的环境或长距离通信中,增加缓冲电路可以提高SPI信号的稳定性和可靠性。

增加缓冲电路的方法
  1. 使用缓冲芯片: 选择适合的缓冲芯片(如74HC244、74HC541等)放置在主设备和从设备之间。
  2. 串联电阻: 在SPI信号线上串联小阻值电阻(如几十欧姆),可以减缓信号上升和下降的速率,减少反射和噪声。
  3. 电容滤波: 在信号线上并联小电容(如几皮法到几十皮法),可以滤除高频噪声。
  4. 屏蔽电缆: 使用屏蔽电缆来减少电磁干扰。

七、SWD 调试接口

八、STM32

相关文章:

STM32自己从零开始实操08:STM32主控原理图

由于老师使用的各引脚分门别类的单片机原理图我没有找到,我使用是引脚按顺序摆放的,不方便一个模块一个模块截图展示,所以这部分使用老师的原理图。 一、电源 1.1电源的介绍 1.1.1数字电源和地(VDD和VSS) 数字电源…...

Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制

这里写目录标题 0. 机器人配置1. Ubuntu20.04配置TurtleBot3 Waffle Pi远程控制1.1 TurtleBot3 Waffle Pi端配置1.2 PC端配置1.2.1 安装turtlebot3的环境配置1.2.2 创建项目并安装Turtlebot31.2.3 配置环境变量 1.3 PC端与TurtleBot3进行通信1.3.1 PC端与机器人端互PING和SSH连…...

SaaS产品和独立部署型产品有什么区别,该怎么选择?

随着云计算和软件服务的多样化,产品形式主要划分SaaS型(开通即用)和独立部署(完整交付)两种模式,那么SaaS产品和独立部署产品有哪些区别,我们在选择产品的时候应该如何去抉择?本文我…...

【Linux】压缩命令——gzip,bzip2,xz

1.压缩文件的用途与技术 你是否有过文件太大,导致无法以正常的E-mail方式发送?又或学校、厂商要求使用CD或DVD来做数据归档之用,但是你的单一文件却都比这些传统的一次性存储媒介还要大,那怎么分成多块来刻录?还有&am…...

【Java13】包

“包”这个机制,类似于分组。主要作用是区分不同组内的同名类。例如,高三三班有一个“王五”,高二八班也有一个“王五”。高三三班和高三八班就是两个不同的包。 Java中的包(package)机制主要提供了类的多层命名空间&…...

从零到一:Python自动化测试的详细指南!

引言: Python是一种功能强大且易于学习和使用的编程语言,它非常适合用于自动化测试。本文将从零开始,通过详细的步骤和规范,介绍如何在Python中实施高质量的自动化测试。我们将探讨测试策略的制定、测试框架的选择、测试用例的编…...

iOS中多个tableView 嵌套滚动特性探索

嵌套滚动的机制 目前的结构是这样的,整个页面是一个大的tableView, Cell 是整个页面的大小,cell 中嵌套了一个tableView 通过测试我们发现滚动的时候,系统的机制是这样的, 我们滑动内部小的tableView, 开始滑动的时候&#xff0c…...

TCP/IP模型和OSI模型的区别

OSI模型, 是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,将计算机网络通信划分为七个不同的层级,每个层级都负责特定的功能。每个层级都构建在其下方的层级之上,并为上方的层级提供…...

(九)绘制彩色三角形

前面的学习中并未涉及到颜色&#xff0c;现在打算写一个例子&#xff0c;在顶点着色器和片元着色器中加入颜色&#xff0c;绘制有颜色的三角形。 #include <glad/glad.h>//glad必须在glfw头文件之前包含 #include <GLFW/glfw3.h> #include <iostream>void …...

短信群发平台适用于哪些行业?

短信群发平台作为一种高效、快速且成本相对较低的通信方式&#xff0c;适用于多个行业。以下是一些主要适用行业的概述&#xff1a; 1. 零售与电商行业 应用场景&#xff1a;零售和电商企业可以利用短信群发进行新品推广、促销信息发布、订单状态更新、物流跟踪通知等。 2. 金…...

1. 倍数

倍数 题目描述 本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。 请问在 11 到 20202020 中&#xff0c;有多少个数既是 44 的整数倍&#xff0c;又是 66 的整数倍。 运行限制 最大运行时间&#xff1a;1s最大运行内存: 12…...

C#常用关键字举例

关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符&#xff0c;但是&#xff0c;如果您想使用这些关键字作为标识符&#xff0c;可以在关键字前面加上 字符作为前缀。 class: public class MyClass {// Class definition }interface: public interface IMyInterfac…...

stm32——外部中断EXTI

上回书说到定时器的级联&#xff0c;今天来谈谈外部中断EXTI。我使用的是STM32F103C8T6的学习板。仅供大家参考。 什么是中断呢&#xff1f;中断是指计算机在执行程序的过程中&#xff0c;当出现某些异常情况或特殊事件&#xff08;例如外部设备请求、定时时间到达、程序错误等…...

Solidity:变量数据存储和作用域 storage/memory/calldata

Solidity中的引用类型​ 引用类型(Reference Type)&#xff1a;包括数组&#xff08;array&#xff09;和结构体&#xff08;struct&#xff09;&#xff0c;由于这类变量比较复杂&#xff0c;占用存储空间大&#xff0c;我们在使用时必须要声明数据存储的位置。 数据位置​ …...

ElementUI中的el-table解决宽度问题 - 根据内容自动撑开

在使用element-ui中&#xff0c;会发现表格组件el-table在未指定宽度情况下&#xff0c;会自动计算并给表格宽度赋值。但实际开发中&#xff0c;有时需要根据内容实际长度自动撑开显示&#xff0c;由内容的多少而决定表格的宽度&#xff0c;而不是默认宽度为100%。在默认情况下…...

react apollo hooks

1、创建ApolloProvider来包装整个程序 <ApolloProvider client{client}><App /> <ApolloProvider> 2、useQuery查询 工作方式usequery将返回一个数组 const {要返回的对象} useQuery(传入参数) 实例 const query gqlquery name {whatever {field}} e…...

Android 10.0 SystemUI启动流程

1、手机开机后&#xff0c;Android系统首先会创建一个Zygote&#xff08;核心进程&#xff09;。 2、由Zygote启动SystemServer。 3、SystemServer会启动系统运行所需的众多核心服务和普通服务、以及一些应用及数据。例如&#xff1a;SystemUI 启动就是从 SystemServer 里启动的…...

洛谷 P1032 [NOIP2002 提高组] 字串变换

P1032 [NOIP2002 提高组] 字串变换 - 洛谷 | 计算机科学教育新生态 题目来源 洛谷 题目内容 [NOIP2002 提高组] 字串变换 题目背景 本题不保证存在靠谱的多项式复杂度的做法。测试数据非常的水&#xff0c;各种做法都可以通过&#xff0c;不代表算法正确。因此本题题目和…...

网络资源模板--Android Studio 外卖点餐App

目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 原创外卖点餐&#xff1a;基于Android studio 实现外卖(点)订餐系统 非原创奶茶点餐&#xff1a;网络资源模板--基于 Android Studio 实现的奶茶点餐App报告 一、项目演示 网络资源模板--基于Android …...

【Linux】网络新手村

欢迎来到 破晓的历程的 博客 ⛺️不负时光&#xff0c;不负己✈️ 引言 今天&#xff0c;我们就开始学习Linux网络相关的内容。这篇博客作为Linux网络板块的第一篇博客看&#xff0c;我们首先要带着大家明白Linux网络的一些名词的概念&#xff0c;为之后的学习扫清障碍。然后我…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

STM32HAL库USART源代码解析及应用

STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...

关于easyexcel动态下拉选问题处理

前些日子突然碰到一个问题&#xff0c;说是客户的导入文件模版想支持部分导入内容的下拉选&#xff0c;于是我就找了easyexcel官网寻找解决方案&#xff0c;并没有找到合适的方案&#xff0c;没办法只能自己动手并分享出来&#xff0c;针对Java生成Excel下拉菜单时因选项过多导…...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序&#xff0c;无论是测试应用程序、搜寻漏洞还是收集情报&#xff0c;它们都能提升工作流程。 FoxyProxy 代理管理工具&#xff0c;此扩展简化了使用代理&#xff08;如 Burp…...

倒装芯片凸点成型工艺

UBM&#xff08;Under Bump Metallization&#xff09;与Bump&#xff08;焊球&#xff09;形成工艺流程。我们可以将整张流程图分为三大阶段来理解&#xff1a; &#x1f527; 一、UBM&#xff08;Under Bump Metallization&#xff09;工艺流程&#xff08;黄色区域&#xff…...

精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑

精益数据分析&#xff08;98/126&#xff09;&#xff1a;电商转化率优化与网站性能的底层逻辑 在电子商务领域&#xff0c;转化率与网站性能是决定商业成败的核心指标。今天&#xff0c;我们将深入解析不同类型电商平台的转化率基准&#xff0c;探讨页面加载速度对用户行为的…...