嵌入式开发之STM32学习笔记day06
基于STM32F103C8T6的开发实践——从入门到精通01
1. 引言
STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格,成为了开发者的首选之一。本文将通过实例,详细介绍如何基于STM32F103C8T6进行开发,并带领读者完成从简单的点亮LED到复杂外设控制的过程。
2. STM32F103C8T6概述
STM32F103C8T6属于STM32F1系列,核心采用ARM Cortex-M3架构,工作频率最高可达72MHz,具有64KB的Flash存储器和20KB的RAM,支持丰富的外设接口,如USART、SPI、I2C、PWM、ADC等。其广泛应用于传感器数据采集、通信模块、工业控制等领域。
2.1 STM32F103C8T6的主要特点
- 32位ARM Cortex-M3内核
- 最高主频72MHz
- 64KB Flash和20KB SRAM
- 丰富的外设接口:USART、I2C、SPI、CAN、PWM、ADC等
- 内置8通道12位分辨率的ADC
- 低功耗设计,支持多种休眠模式
2.2 常见应用场景
- 工业控制
- 无线通信
- 智能家居
- 机器人控制
- 数据采集与处理
3. 开发环境搭建
为了开始STM32F103C8T6的开发,我们需要配置开发环境。这里推荐使用Keil uVision 5和STM32CubeMX这两个工具。Keil uVision 5是一款功能强大的嵌入式开发集成环境,而STM32CubeMX则可以帮助我们简化STM32的初始化代码配置。
3.1 安装Keil uVision 5
- 从Keil官网(https://www.keil.com)下载并安装Keil uVision 5。
- 配置好项目的目标微控制器为STM32F103C8T6。
- 安装相应的编译工具链和调试工具。
3.2 安装STM32CubeMX
- 从ST官方(https://www.st.com)下载并安装STM32CubeMX。
- 打开STM32CubeMX,选择目标芯片STM32F103C8T6,配置所需的外设。
- 生成初始化代码,导入到Keil中进行开发。
3.3 配置调试工具
- 使用ST-Link v2调试器进行程序下载和调试。
- 连接ST-Link调试器到STM32F103C8T6的SWD接口。
4. STM32F103C8T6开发实践
4.1 点亮LED:基础GPIO操作
GPIO(General Purpose Input/Output)是STM32F103C8T6中最常见的外设之一。我们可以通过配置GPIO来控制LED灯的点亮与熄灭。
4.1.1 硬件连接
- 将一个LED与适当的电阻串联,连接到STM32的PA5引脚。
- 将另一端接地。
4.1.2 软件代码
通过STM32CubeMX生成初始化代码,配置PA5为输出模式,然后编写代码使LED闪烁。
#include "stm32f10x.h"void GPIO_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 开启GPIOA的时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // 配置PA5引脚GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 配置为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 配置为50MHz速度GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化PA5
}void delay(uint32_t count)
{while(count--);
}int main(void)
{GPIO_Configuration(); // 配置GPIOwhile(1){GPIO_SetBits(GPIOA, GPIO_Pin_5); // 点亮LEDdelay(500000); // 延时GPIO_ResetBits(GPIOA, GPIO_Pin_5); // 熄灭LEDdelay(500000); // 延时}
}
4.1.3 解释
- 通过
GPIO_Init
函数配置PA5为推挽输出模式。 GPIO_SetBits
和GPIO_ResetBits
分别用于控制PA5输出高电平和低电平。delay
函数用来控制LED闪烁的频率。
4.2 外部中断:按键控制LED
在嵌入式系统中,外部中断是非常常见的一种功能。通过外部中断,我们可以实现按键控制LED的功能。
4.2.1 硬件连接
- 按键与PA0引脚连接。
- LED与PA5引脚连接。
4.2.2 软件代码
#include "stm32f10x.h"void GPIO_Configuration(void)
{GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 开启GPIOA时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; // 配置PA5为LEDGPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 配置为推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // 配置PA0为按键输入GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // 上拉输入GPIO_Init(GPIOA, &GPIO_InitStructure);
}void EXTI0_IRQHandler(void)
{if (EXTI_GetITStatus(EXTI_Line0) != RESET) // 判断是否是PA0引脚的中断{GPIOA->ODR ^= GPIO_Pin_5; // 切换LED状态EXTI_ClearITPendingBit(EXTI_Line0); // 清除中断标志}
}int main(void)
{GPIO_Configuration();// 配置外部中断EXTI_InitTypeDef EXTI_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);EXTI_InitStructure.EXTI_Line = EXTI_Line0;EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;EXTI_InitStructure.EXTI_LineCmd = ENABLE;EXTI_Init(&EXTI_InitStructure);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);while(1);
}
4.2.3 解释
- 使用PA0引脚作为按键输入,并配置为上拉模式。
- 通过外部中断将PA0的状态变化(按下按键)作为触发条件,改变LED的状态。
EXTI_Init
函数配置外部中断,EXTI0_IRQHandler
函数处理按键中断。
5. 高级功能
5.1 UART通信:串口调试与数据传输
STM32F103C8T6支持USART功能,通过串口可以与PC或其他设备进行通信。
5.2 ADC与传感器数据采集
STM32内置12位的ADC,可用于采集模拟信号,比如温度传感器的数据。
6. 总结
本文介绍了基于STM32F103C8T6的开发实践,从基础的GPIO操作到外部中断、串口通信等高级功能的实现。通过这些实例,开发者可以快速上手STM32,并应用于各种嵌入式项目中。STM32F103C8T6凭借其高性能、低功耗和丰富的外设,依然是开发者在嵌入式开发中的首选。
7. 预告
大家好!我是小程同学>o<,下一节我将为大家详细介绍并解释GPIO(通用输入输出)在STM32中的应用。GPIO是嵌入式开发中的基础外设,但它却在实际项目中起着至关重要的作用。无论是控制LED的点亮、读取传感器的数据,还是与外部设备进行通信,GPIO都能帮助我们实现各种功能。敬请期待,我将带你一起深入了解GPIO的配置、操作技巧以及在开发中的最佳实践!下节见!
相关文章:
嵌入式开发之STM32学习笔记day06
基于STM32F103C8T6的开发实践——从入门到精通01 1. 引言 STM32系列微控制器是STMicroelectronics推出的一款高性能、低功耗的32位微控制器,广泛应用于嵌入式系统中。STM32F103C8T6是其中非常受欢迎的一款,凭借其强大的性能、丰富的外设接口和低廉的价格…...
openocd C#桌面工具
文章目录 简介一、主界面二、文件列表三、rtl介绍四、虚拟示波器1、画线2、画点3、合并显示4、测试代码简介 基于廉价9.9包邮的DAP-Link,在IAR和Keil中下载和调试都没毛病。 可是不能单独使用。单独烧录固件用不了,也不能同jlink一样打印日志和显示波形。 openocd开源工具能…...
goland小问题报错及解决
报错信息: cannot use rw (variable of type *populateResponse) as ResponseWriter value in argument to t.fh.ServeHTTP: *populateResponse does not implement ResponseWriter (missing method Fprintf) cannot use rw (variable of type *http2responseWrite…...
AtCoder Beginner Contest 397 A - D题解
Tasks - OMRON Corporation Programming Contest 2025 (AtCoder Beginner Contest 397) 本文为 AtCoder Beginner Contest 397 A - D题解 题目A: 代码(C): #include <bits/stdc.h>int main() {double n;std::cin >> n;if (n > 38.0) {std::cout << 1;}…...
18年老牌软件,完美解锁pro!
很多小伙伴在学习、工作中都喜欢使用思维导图来整理和记录自己的思路,通过图形化的方式展示复杂概念和关系,使信息更加清晰易懂,有助于理解和记忆;其次,分层次和分类别的信息结构也能够快速理清思路,突出重…...
Power Apps 技术分享:画布应用使用表单控件
前言 表单控件,是画布应用里一个非常好用的控件,我们今天简单介绍下,如何使用这个控件。 正文 1.首先,我们需要有一个数据源,我们这里用上一篇博客新建的数据源,如下图: 2.新建一个页面…...
视频转音频, 音频转文字
Ubuntu 24 环境准备 # 系统级依赖 sudo apt update && sudo apt install -y ffmpeg python3-venv git build-essential python3-dev# Python虚拟环境 python3 -m venv ~/ai_summary source ~/ai_summary/bin/activate核心工具链 工具用途安装命令Whisper语音识别pip …...
ZLMediaKit源码分析——[1] 开篇:onceToken源码分析
系列文章目录 第一篇 基于SRS 的 WebRTC 环境搭建 第二篇 基于SRS 实现RTSP接入与WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 环境搭建 第四篇 WebRTC学习一:获取音频和视频设备 第五篇 WebRTC学习二:WebRTC音视频数据采集 第六篇 WebRTC学习三:WebRTC音视频约束 …...
EasyRTC嵌入式音视频通话SDK:微信生态支持、轻量化架构与跨平台兼容性(Linix/Windows/ARM/Android/iOS/LiteOS)
随着WebRTC技术的不断发展,实时音视频通信在各个领域的应用越来越广泛。EasyRTC嵌入式音视频通话SDK作为一款基于WebRTC技术的实时通信解决方案,凭借其强大的功能和灵活的集成能力,受到了越来越多开发者的关注。 一、系统架构设计 纯C语言开…...
Python中使用vlc库实现视频播放功能
文章目录 前言1. 环境准备1.1Python安装1.2选择Python开发环境1.3安装必要库 2. 基础播放示例3. 常用播放控制功能4. 事件监听5. 播放网络流媒体6. 结合 GUI 库制作视频播放器(以 Tkinter 为例) 前言 本教程主要包含打开文件、播放和停止按钮࿰…...
Elasticsearch面试题
以下是150道Elasticsearch面试题及其详细回答,涵盖了Elasticsearch的基础知识、配置与优化、查询操作、集群管理、性能调优等多个方面,每道题目都尽量详细且简单易懂: Elasticsearch基础概念类 1. 什么是Elasticsearch? Elastics…...
Linux上位机开发实战(qt编译之谜)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 很多同学都喜欢用IDE,也能理解。因为不管是visual studio qt插件,还是qt creator其实都帮我们做了很多额外的工作。这里面最…...
SpringBoot3+Druid+MybatisPlus多数据源支持,通过@DS注解配置Service/Mapper/Entity使用什么数据源
在 Spring Boot 3 中结合 Druid 和 MyBatis-Plus 实现多数据源支持,并通过 DS 注解动态切换数据源,可以按照以下步骤进行配置: 官方文档:多数据源支持 | MyBatis-Plus 1. 引入依赖 在 pom.xml 中添加以下依赖: <…...
Java学习------内部类
1. 定义 定义在一个类中的类 2. 使用时机 当一个类需要用到另一个类,并且两个类的联系比较密切时就需要使用内部类内部类可以访问外部类的私有成员,这样可以将相关的类和接口隐藏在外部类的内部,提高封装性匿名内部类是没有名字的类&#…...
【QA】建造者模式在Qt有哪些应用
#设计模式 #Qt 一、QDomDocument(XML 文档构建) 模式角色: Builder:QDomDocument 本身Product:XML 文档对象Director:用户代码通过 QDomDocument 逐步构建文档结构 示例代码: QDomDocument…...
uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解
uniapp 多环境配置打包,比较优雅的解决方案,全网相对优解 读取.env.[development|test|staging|production]配置文件进行打包,最终效果如下图可以看到多个环境, 并且我们可以自定义更多的环境配置 前言 由于uniapp的hbuilder开发…...
【量化科普】Liquidity,流动性
【量化科普】Liquidity,流动性 🚀量化软件开通 🚀量化实战教程 在金融市场中,流动性(Liquidity)是一个至关重要的概念。它指的是资产能够以多快的速度被买入或卖出而不显著影响其价格的能力。高流动性的…...
qt介绍图表 charts 一
qt chartsj基于Q的Graphics View框架,其核心组件是QChartView和QChart.QChartView是一个显示图表的独立部件,基类为QGraphicsView.QChar类管理图表的序列,图例和轴示意图。 绘制一个cos和sin曲线图,效果如下 实现代码 #include…...
如何图像去噪?(一)
喜欢可以在我的主页订阅专栏哟,至少更新6年~~,更到我上大学也可能会继续更~~ 第一章 图像去噪的基础知识与核心概念 1.1 图像噪声的数学模型与物理成因 定义扩展: 图像噪声是信号采集、传输或存储过程中引入的随机干扰,其本质为…...
【数据库】Data Model(数据模型)数据模型分析
理解图片中的 Data Model(数据模型)是学习数据库设计和应用程序开发的重要一步。作为初学者,你可以通过比喻和简单的解释来理解这些概念以及它们之间的联系。以下是对图片中数据模型的详细分析,以及如何理解它们之间的关系。 1. 数…...
win10 c++ VsCode 配置PCL open3d并显示
win10 c VsCode配置PCL open3d并显示 一、效果图二、配置步骤2.1 安装vscode2.2 pcl-open3d配置2.3 vscode中设置 三、测试代码四、注意事项及后续 一、效果图 二、配置步骤 2.1 安装vscode vscode下载链接 下载中文插件、c相关插件 2.2 pcl-open3d配置 1)下载…...
Flask多参数模版使用
需要建立目录templates; 把建好的html文件放到templates目录里面; 约定好参数名字,单个名字可以直接使用;多参数使用字典传递; 样例: from flask import render_template # 模板 (Templates) #Flask 使用…...
python中a is None 和 a==None有区别吗
在 Python 中,a is None 和 a None 的区别如下: 1. a is None 这是身份(identity)比较,用于检查 a 是否就是 None 这个对象。None 是 Python 的单例对象,意味着在 Python 运行过程中,所有 No…...
Excel(函数篇):COUNTIF与CONUTIFS函数、SUMIF与SUMIFS函数、ROUND函数、MATCH与INDEX函数、混合引用与条件格式
目录 COUNTIF和COUNTIFS函数COUNTIF函数COUNTIFS函数SUMIF和SUMIFS函数SUMIF函数SUMIFS函数SUMIFS函数与控件实现动态年月汇总ROUND、ROUNDUP、ROUNDDOWN函数单元格混合引用条件格式与公式,标记整行数据MATCH和INDEX函数COUNTIF和COUNTIFS函数 COUNTIF函数 统计下“苏州”出现…...
C语言及内核开发中的回调机制与设计模式分析
在C语言以及操作系统内核开发中,回调机制是一种至关重要的编程模式。它通过注册框架和定义回调函数,实现了模块间的解耦和灵活交互,为系统的扩展性和可维护性提供了有力支持。本文将深入探讨这种机制的工作原理、应用场景以及与设计模式的关联。 一、回调机制的核心概念 (…...
SAP WORKFLOW BUSINESS PROCESS AUTOMATION
SAP WORKFLOW BUSINESS PROCESS AUTOMATION...
它,让机器人与HMI屏无缝对接
随着工业自动化向智能化发展,机器人与HMI屏的通信变得至关重要。本文将为您介绍一款创新的解决方案,它打破了通信协议的壁垒,实现机器人与HMI屏的无缝连接。 随着工业自动化向智能化的迈进,生产制造业正加速引入大量工业机器人以替…...
Vala语言基础知识-源文件和编译
源文件和编译 Vala代码以.vala为扩展名。与Java等语言不同,Vala不强制要求严格的文件结构——它没有类似Java的"包"(package)或"类文件"(class file)的概念,而是通过文件内的文本…...
《mc百科》小引
现在的年轻人,不是玩农药,就是在打和平,几乎每到街上,想就看见农药上号的,但这些游戏,虽然宜人,但随时都能让人异化。 但有一种游戏,可以说几乎涵盖了所有文化。早其自由度高达999%…...
java泛型通配符?及上下界(extends,super)保证安全性、灵活性、可读性
在 Java 中,泛型通配符(?)用于表示未知类型,通常用于增强泛型的灵活性。通配符可以与上下限结合使用,以限制泛型的范围。以下是通配符及上下限的使用示例: 1. 无界通配符 (?) 无界通配符表示可以接受任意…...
PyQt6内嵌http.server Web 和Flask Web服务器方法详解
PyQt6 可以内嵌一个简单的 Web 服务器。虽然 PyQt6 本身不提供直接的 Web 服务器功能,但可以结合 Python 的标准库(如 http.server)或其他 Web 框架(如 Flask、FastAPI 等)来实现。 示例:使用 http.server…...
【ProjectDiscovery 生态中核心工具 Subfinder、Httpx、Katana 和 Nuclei 的基础使用教程】
ProjectDiscovery 生态中核心工具 Subfinder、Httpx、Katana 和 Nuclei 的基础使用教程 一、Subfinder:子域名发现工具安装基础使用 二、Httpx:HTTP 探测与指纹识别安装基础使用 三、Katana:网络爬虫工具安装基础使用 四、Nuclei:…...
【Linux系统】进程地址空间详解
Linux系列 文章目录 Linux系列前言一、地址空间的区域划分二、进程地址空间的引入2.1 地址空间的概念2.2 地址空间2.3 进程地址空间的优点 三、页表3.1 区域权限管理3.2 惰性加载 总结 前言 进程地址空间是操作系统为每个运行中的进程分配的一个虚拟内存视图,它是所…...
使用Dependency Walker和Beyond Compare快速排查dll动态库损坏或被篡改的问题
目录 1、问题描述 2、用Dependency Walker工具打开qr.dll库,查看库与库的依赖关系以及接口调用情况,定位问题 3、使用Beyond Compare工具比较一下正常的msvcr100d.dll和问题msvcr100d.dll的差异 4、最后 C软件异常排查从入门到精通系列教程ÿ…...
蓝桥杯 刷题统计
问题描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目, 周六和周日每天做 b 道题目。请你帮小明计算, 按照计划他将在 第几天实现做题数大于等于 n 题? 输入格式 输入一行包含三个整数 a,b和 n. 输出格式 输出一个整数代表天数。 样…...
019-RSA
RSA 一、RSA技术原理与流程(附流程图) 密钥生成流程 graph TDA[选择大质数p/q] --> B[计算np*q]B --> C[计算 “φ(n)p-1*q-1”]C --> D[选择e与φ(n)互质]D --> E[计算d满足ed≡1 mod φ&am…...
《 C++ 点滴漫谈: 三十一 》函数重载不再复杂:C++ 高效调试与性能优化实战
摘要 本篇博客深入探讨了 C 中的函数重载及其调试技巧。首先,介绍了函数重载的基本概念及其在 C 编程中的应用,强调了如何通过函数重载提高代码的灵活性和可读性。接着,我们讨论了函数重载的常见问题,如二义性、隐式类型转换和重…...
2024年消费者权益数据分析
📅 2024年315消费者权益数据分析 数据见:https://mp.weixin.qq.com/s/eV5GoionxhGpw7PunhOVnQ 一、引言 在数字化时代,消费者维权数据对于市场监管、商家诚信和行业发展具有重要价值。本文基于 2024年315平台线上投诉数据,采用数…...
uniapp APP权限弹框
效果图 第一步 新建一个页面,设置透明 {"path": "pages/permissionDisc/permissionDisc","style": {"navigationBarTitleText": "","navigationStyle": "custom","app-plus": {&…...
【Weaviate】数据库:向量存储与搜索的新纪元
🐇明明跟你说过:个人主页 🏅个人专栏:《深度探秘:AI界的007》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、什么是Weaviate 2、Weaviate 能做什么? …...
机器学习之激活函数
什么是激活函数 激活函数是神经网络的关键组件,作用于神经元输出。神经元汇总输入并计算净输入值,激活函数将其非线性变换,生成神经元最终输出,该输出作为后续神经元输入在网络中传播。 为什么需要激活函数 引入非线性 无激活…...
ACWing:178. 第K短路 (A*算法)
178. 第K短路 - AcWing题库 ac代码: #include<iostream> #include<cstring> #include<queue> using namespace std; const int N1010; const int M20020; struct node{int d,end,d1;bool operator <(const node &x)const{return d>x.d…...
Windows 图形显示驱动开发-WDDM 3.0功能- 硬件翻转队列(一)
WDDM 3.0 之前的翻转队列模型 许多新式显示控制器支持对按顺序显示的多个帧排队的能力。 从 WDDM 2.1 开始,OS 支持将在下一个 VSync 中显示的多个未完成的翻转覆盖请求。 显示微型端口驱动程序 (KMD) 通过 DXGK_DRIVERCAPS 中的 MaxQueuedMultiPlaneOverlayFlipVS…...
本地仓库设置
将代码仓库初始化为远程仓库,主要涉及在服务器上搭建 Git 服务,并将本地代码推送到服务器上。以下是详细的步骤: 1. 选择服务器 首先,你需要一台服务器作为代码托管的远程仓库。服务器可以是本地服务器、云服务器,甚…...
openEuler系统迁移 Docker 数据目录到 /home,解决Docker 临时文件占用大问题
根据错误信息 write /var/lib/docker/tmp/...: no space left on device,问题的根源是 根分区(/)的磁盘空间不足,而非 /home 分区的问题。以下是详细解释和解决方案: 问题原因分析 Docker 临时文件占用根分区空间&…...
LoRA有哪些 参数高效微调方法?
LoRA有哪些 参数高效微调方法? 目录 LoRA有哪些 参数高效微调方法?一、**Fisher 信息矩阵(FIM)近似方差**公式原理LoRA 应用示例二、**动态梯度方差(指数加权移动平均)**公式原理LoRA 代码示例三、**分层梯度方差(结构稀疏性)**公式原理案例:文本分类任务四、**局部方…...
【Xinference rerank】学习如何在Xinference中使用重新排序模型
xinferance 官方网站 给定一个查询和一系列文档,Rerank 会根据与查询的语义相关性从最相关到最不相关对文档进行重新排序。在 Xinference 中,可以通过 Rerank 端点调用 Rerank 模型来对一系列文档进行排序。 from xinference.client import Clientclie…...
pyqt 上传文件或者文件夹打包压缩文件并添加密码并将密码和目标文件信息保存在json文件
一、完整代码实现 import sys import os import json import pyzipper from datetime import datetime from PyQt5.QtWidgets import (QApplication, QWidget, QVBoxLayout, QHBoxLayout,QPushButton, QLineEdit, QLabel, QFileDialog,QMessageBox, QProgressBar) from PyQt5.…...
Java 大视界 -- Java 大数据机器学习模型的对抗攻击与防御技术研究(137)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
中间件漏洞之weblogic
目录 weblogic简介弱口令后台getshell漏洞利用修复建议 CVE-2017-10271xmldecoder反序列化漏洞漏洞利用修复建议 CVE-2018-2894任意文件上传漏洞利用修复建议 CVE-2014-4210 weblogic ssrf漏洞利用修复建议 CVE-2020-14882&14883漏洞利用修复建议 CVE-2018-2628漏洞利用修复…...