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

STM32之GPIO输出与输出

欢迎来到 破晓的历程的 博客

⛺️不负时光,不负己✈️

文章目录

    • 一.GPIO输入
      • 1.1GPIP简介
      • 1.2GPIO基本结构
      • 1.3GPIO位结构
      • 1.4GPIO的八种模式
        • 1.4.1浮空/上拉/下拉输入
        • 1.4.2 模拟输入
        • 1.4.3 推挽输出\开漏输出
    • 二.GPIO输入
      • 2.1.按键介绍
      • 2.2传感器模块介绍
      • 2.3按键电路

一.GPIO输入

1.1GPIP简介

  • GPIO「General Purpose Input Output」:通用输入和输出口
  • 可配置为8种输入和输出模式
  • 引脚电平:0V~3.3V,部分引脚可以容忍5V「在引脚分布图中,带FT的是可以容忍5V的」
  • 输出模式下可控制端口输出高电平,用以驱动LED,控制蜂鸣器,模拟通信协议输出时序等「只要是用高低电平来使用控制的地方,都可以用GPIO来完成;如果是控制功率比较大的设备,只需要加入驱动电路即可。我们还可以使用GPIO来模拟通信协议,比如I2C,SPI或者某个芯片特定的协议,我们都可以使用GPIO的输出模式来模拟其中中输出时序部分」

1.2GPIO基本结构

在这里插入图片描述

  • 在STM32中,所有的GPIO都是挂载在APB2外设总线上的,其中GPIO外设的名称是按照GPIOA,GPIOB,GPIOC等等这样来命名的。

  • 每个GPIO外设一共16个引脚,编号是从0到15,比如:GPIO的第0号引脚我们一般称之为PA0,接着就是PA1…一直到PA15

  • 输入模式下可读取端口的高低电平或电压,用于读取按键输入「这是最常见的一种方式」,外接模块电平信号输入,ADC电压采集,模拟通信协议接收数据等等。

  • 在每个GPIO的模块内,主要包含驱动器和寄存器这些东西,寄存器就是一段特殊的存储器,内核可以通过APB2总线对寄存器进行读写,这样就可以实现输出电平和读取电平的功能了。

  • 寄存器的每一位对应一个输出引脚,其中输出寄存器写1,对应的引脚就会输出高电平;写0,就会输出低电平。输入寄存器读取为1,就证明对应的端口目前是高电平,读取为0,就是低电平

  • 因为STM32是32位的单片机,所以STM32内部都是32位的,但是这个端口只有16位,所以这个寄存器只有低16位对应的有端口,高16位是没有用到的

  • 这个驱动器是用来增加信号的驱动能力的,寄存器只负责存储数据,如果要用来点灯操作的话,还是要驱动器来负责增大驱动的能力的

1.3GPIO位结构

在这里插入图片描述
在这里插入图片描述

  • 上拉输入,默认是高电平的输入模式,下拉输入,默认是低电平的输入模式。这个上拉电阻和下拉电阻的阻值都是比较大的,是一种弱上拉和弱下拉,目的是不影响正常的输入操作。
  • 肖特基触发器是翻译错误,正确的名字应该是斯密特触发器「作用是对输入电压进行整形的」,这个触发器的执行逻辑是:如果收入电压大于某一阈值,输出就会瞬间升为高电平,如果输入电压小于某一阈值,输出就会瞬间升为低电平。「举个例子:因为这个引脚的波形是外界输入的,虽然是数字信号,实际情况下可能会产生某些失真」
  • 因为这个输出寄存器同时控制机16个端口,并且这个寄存器只能整体的读写,所以如果想单独控制某一个端口而不影响其他端口的话就需要一些特殊的方式。第①种方式是先读出这个寄存器,然后用按位与和按位或的方式更改某一位,最后再将更改后的数据写回去,在C语言中就是&=和|=的操作,这种方式比较麻烦,效率不高,对于IO的话,操作的效率不高。第②种方式是通过设置这个位设置和位清除寄存器,如果我们要对某一位进行置1的操作,在位设置的寄存器的对应的位写1即可,剩下不需要操作的位写0,这样他内部就会有电路,自动将输出寄存器中对应的位置写1,而剩下写0的位则保持不变。如果想对某一位进行清0操作,在清除寄存器对应的位写1即可。第二种方式就是利用这个位设置和位清除寄存器的作用。第③种方式就是读写STM32中的位带区域,这个位带的作用就和STM32中的位寻址的作用差不多,在STM32中,有一段区域映射了RAM和外设寄存器所有的位,读写这段地址中的区域,就相当于读写所映射位置的某一位一样
  • 在接下来输出控制之后,就接在了两个MOS管上,上面是P-MOS,下面是N-MOS。这个MOS管就是一种电子开关,我们的信号负责导通开关的导通和关闭,开关负责将IO口接到VDD和VSS,在这里可以选择推挽开漏和关闭三种输出方式,①在推挽模式下:P—–MOS和N-MOS都打开,数据寄存器为1时,上管导通,下管断开,输入寄存器直接接住VDD,就是就是输出高电平,输出寄存器为0时,上管导通,下管断开,输出寄存器直接接到VSS,就是输出低电平,这种模式下高低电平均有较强的驱动能力,所以推挽输出模式也可以叫做强推输出模式,在推挽输出模式下,STM32对IO口有绝对的控制权,高低电平都对STM32说的算,②在开漏模式下,这个P-MOS是无效的,只有N-MOS在工作,数据寄存器为1时,下管断开,这时输出寄存器相当于断开,这就是高阻模式;数据寄存器为0时,下管导通,输出直接接到VSS,也就是输出低电平,这种模式下,只有低电平有驱动能力,高电平是没有驱动能力的,这个开漏模式有什么用呢?这个开漏模式可以作为通信协议的驱动方式,比如I2C通信的引脚,就是使用的是开漏没事,在多机通信的模式下,这种模式可以避免多个设备之间互相干扰,开漏模式还可以用于输出5V的电平信号,用于兼容一些5V的通信设备

1.4GPIO的八种模式

通过配置GPIO的端口配置寄存器,端口可以配置成以下几种模式:

模式编号模式名称描述
0输入浮空 (Input Floating)GPIO引脚被配置为高阻态,既不拉高也不拉低,适合用于检测外部电平变化。
1输入上拉 (Input Pull-up)内部上拉电阻使引脚在没有外部信号时呈现高电平。
2输入下拉 (Input Pull-down)内部下拉电阻使引脚在没有外部信号时呈现低电平。
3输出推挽 (Output Push-Pull)引脚可以主动驱动高电平或低电平,适用于驱动LED等负载。
4输出开漏 (Output Open-Drain)引脚只能主动拉低,需要外部上拉电阻来提供高电平。
5复用推挽 (Alternate Function Push-Pull)将引脚配置为复用功能,如UART、I2C等,并以推挽方式输出。
6复用开漏 (Alternate Function Open-Drain)将引脚配置为复用功能,如UART、I2C等,并以开漏方式输出。
7模拟 (Analog)引脚被配置为模拟输入,用于ADC等模拟信号处理。

每种模式都有其特定的应用场景,选择正确的模式对于确保电路正确工作至关重要。例如,如果要使用GPIO引脚作为数字输入来读取按钮状态,可以选择输入上拉或下拉模式;如果要用作LED驱动,则输出推挽模式可能是更好的选择。对于像I2C这样的通信协议,通常会使用输出开漏或复用开漏模式,因为这些协议通常需要外部上拉电阻来确保总线处于正确的电平。
在这里插入图片描述

1.4.1浮空/上拉/下拉输入

在这里插入图片描述

在输入模式下,输出功能关闭

1.4.2 模拟输入

模拟输入:ADC模数转换器的专属配置,其他时候一般用不到模拟输入

在这里插入图片描述

1.4.3 推挽输出\开漏输出
  • 开漏输出:可输出引脚电平,高电平为高阻态,低电平接VSS,高电平没有驱动能力
  • 推挽输出:可输出引脚电平,高电平接VDD,低电平接VSS,高低电平均有较强的驱动能力

在输出模式下:也是可以进行输入的

在这里插入图片描述
引脚的控制权转移到了片上外设,由片上外设来控制,在输入部分,片上外设也可以读取引脚的电平,同时普通的输入也是有效的,顺便接收一下信号

在GPIO的八种模式中,除了模拟信号这个模式会关闭数字的输入功能,在其他的7个模式中,所有的输入都是有效的

二.GPIO输入

2.1.按键介绍

  • 按键:常见的输入设备,按下导通,松手断开。
  • 按键抖动:由于按键内部使用的是机械式的弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动

在这里插入图片描述
所以我们要对这个抖动进行过滤,否则就会出现按键按一下,单片机会反应多次的现象。另外在按键松手时,也会有抖动的现象,这个我们在程序中也要学会过滤。最简单的过滤方法就是加一段延时,把震荡的一段时间给延时过去

2.2传感器模块介绍

传感器模块:传感器元件(光敏电阻/热敏电阻/红外接收管等)的电阻会随外界模拟量的变化而变化,通过与定值电阻分压即可得到模拟电压输出,再通过电压比较器进行二值化即可得到数字电压输出

在这里插入图片描述

2.3按键电路

在这里插入图片描述

  • 在第一幅图中,必须要求PA0是上拉输入模式,否则就会出现引脚不确定的情况,引脚悬空的情况下,就是高电平,
  • 在第二副图中,引脚需要配置成上拉输入或者浮空输入,对应的高电平就更加的稳定,这样的话,当引脚强行拉到低时,对应的损耗就会大一些
  • 第三个图中,要求PA0必须配置成下拉输入模式,当按键按下时,引脚为高电平,松手时,引脚回到默认低电平,一般的单片机不一定有下拉输入模式,
  • 在第四个图中,PA0需要配置为下拉输入模式或者浮空输入模式

相关文章:

STM32之GPIO输出与输出

欢迎来到 破晓的历程的 博客 ⛺️不负时光,不负己✈️ 文章目录 一.GPIO输入1.1GPIP简介1.2GPIO基本结构1.3GPIO位结构1.4GPIO的八种模式1.4.1浮空/上拉/下拉输入1.4.2 模拟输入1.4.3 推挽输出\开漏输出 二.GPIO输入2.1.按键介绍2.2传感器模块介绍2.3按键电路 一.G…...

【数据库】Redis—Java 客户端

一、常见的几种 Java 客户端 Jedis:以 Redis 命令作为方法的名称,便于学习,简单实用,但其实例是线程不安全的,多线程下需要基于连接池来使用。lettce:基于 Netty 实现,支持同步、异步和响应式编…...

《图解机器学习》(杉山将著)第一部分绪论学习笔记

《图解机器学习》(杉山将著)第一部分绪论学习笔记 《图解机器学习》(杉山将著)第一部分绪论学习笔记一、什么是机器学习1.1 学习的种类1.2 机器学习任务的例子1.3 机器学习的方法 二、学习模型2.1 线性模型2.2 核模型2.3 层级模型…...

Deepin和Windows传文件(Xftp,WinSCP)

在Linux系统和Windows系统传输文件,通常通过Windows系统中安装的Xftp和WinSCP访问Linux系统,在访问前需要安装配置SSH-Server 安装SSH-Server 安装SSH-Server sudo apt-get install openssh-server ssh -v 启动SSH服务 sudo systemctl start ssh //也…...

C语言习题2.0

C语言习题1.0 C语言习题-CSDN博客 目录 C语言习题1.0 C语言习题-CSDN博客 找一个数字的连续因子 求N个分数的和 正整数AB 函数 预处理 文件处理 操作符 找一个数字的连续因子 //找连续因子,及其个数 int main() {int a;scanf("%d", &a);int num 0; …...

达梦 本地编码:PG_GBK, 导入文件编码:PG_UTF8错误

问题 达梦 本地编码:PG_GBK, 导入文件编码:PG_UTF8错误 解决 右键管理服务器 查看配置 新建一个数据库实例,配置跟之前的保持一致 新建一个用户,跟以前的用户名一样 在用户上,右键导入,选择dmp的位置 导…...

【Apache Paimon】-- 11 -- Flink 消费 kakfa 写 S3 File

目录 1、项目构建 2、项目新增和修改 2.1 pom.xml 新增依赖 2.2 本地测试或者 flink on k8s 时,新增 S3FileSystemFactory.java 第一步:创建包=org.apache.flink.fs.s3hadoop 第二步:新增 java 类 S3FileSystemFactory 特别注意 (1)本地测试时需要新增以下内容 (…...

使用C语言编写UDP循环接收并打印消息的程序

使用C语言编写UDP循环接收并打印消息的程序 前提条件程序概述伪代码C语言实现编译和运行C改进之自由设定端口注意事项在本文中,我们将展示如何使用C语言编写一个简单的UDP服务器程序,该程序将循环接收来自指定端口的UDP消息,并将接收到的消息打印到控制台。我们将使用POSIX套…...

QT6静态编译并配置及错误解决

使用Github workflow进行编译,无需本地编译。 断断续续半年间,试了很多次静态编译,也尝试过别人编译的静态包,但一直失败。不是无法成功编译,就是编译后无法正常使用,经常报错链接失败。 参考的教程&#…...

Docker部署GitLab服务器

一、GitLab介绍 1.1 GitLab简介 GitLab 是一款基于 Git 的开源代码托管平台,集成了版本控制、代码审查、问题跟踪、持续集成与持续交付(CI/CD)等多种功能,旨在为团队提供一站式的项目管理解决方案。借助 GitLab,开发…...

flink实现复杂kafka数据读取

接上文:一文说清flink从编码到部署上线 环境说明:MySQL:5.7;flink:1.14.0;hadoop:3.0.0;操作系统:CentOS 7.6;JDK:1.8.0_401。 常见的文章中&…...

小雅Alist缓存太多怎么清理?教程来了

声明:不喜欢小白在开头唠嗑的小伙伴可以直接滑动到【 正文开始】处阅读。 前言 前段时间讲到在飞牛OS上部署小雅超集AList,后台看到很多小伙伴都部署了。 飞牛NAS上的小雅根本没有资源?只剩下打赏码?那得按照这个重新配置了&…...

Python字符串及正则表达式(十一):正则表达式、使用re模块实现正则表达式操作

前言:在 Python 编程的广阔天地中,字符串处理无疑是一项基础而关键的技能。正则表达式,作为处理字符串的强大工具,以其灵活的模式匹配能力,在文本搜索、数据清洗、格式验证等领域发挥着不可替代的作用。本系列博客已经…...

前端:金额高精度处理

Decimal 是什么 想必大家在用js 处理 数字的 加减乘除的时候,或许都有遇到过 精度不够 的问题,还有那些经典的面试题 0.20.1 ! 0.3, 至于原因,那就是 js 计算底层用的是 IEEE 754 ,精度上有限制, 那么Deci…...

WPF 依赖属性和附加属性

除了普通的 CLR 属性, WPF 还有一套自己的属性系统。这个系统中的属性称为依赖属性。 1. 依赖属性 为啥叫依赖属性?不叫阿猫阿狗属性? 通常我们定义一个普通 CLR 属性,其实就是获取和设置一个私有字段的值。假设声明了 100 个 …...

git merge 冲突 解决 show case

废话不多说,上 case!!! 1. 更新master分支 package org.example;public class Main {public static void main(String[] args) {System.out.println("--------Git冲突测试代码开始---------");System.out.println(&qu…...

小鹏“飞行汽车”上海首飞,如何保障智能出行的安全性?

近日,小鹏汇天的“陆地航母”飞行汽车在上海陆家嘴成功完成首飞,标志着飞行汽车时代在中国正式拉开序幕。作为一项突破性的科技创新,飞行汽车不仅将重塑我们的出行方式,还将深刻改变城市的交通格局。此次飞行不仅证明了飞行汽车的…...

分析excel硕士序列数据提示词——包含对特征的筛选,非0值的过滤

文章目录 1 分析出发点2 围绕出发点的文件分析3 功能模块计算重心相关性计算教学倾向百分比多列相关性计算结果封装证伪——过滤0后的交叉相关系数封装和总控——批量处理特征筛选——筛选提问倾向最大和最小的前五代码总的清洗1 分析出发点 写一个python代码,遍历"D:\Ba…...

sed | 一些关于 sed 的笔记

sed 总结 sed 语法sed [-hnV] [-e<script>] [-f<script文件>] [文本文件]--- 参数&#xff1a;-e<script> 以选项中指定的script 来处理输入的文本文件-f<script文件> 以选项中指定的script 文件来处理输入的文本文件动作说明:a 新增s 取代d 删除i 插入…...

如何重新设置VSCode的密钥环密码?

故障现象&#xff1a; 忘记了Vscode的这个密码&#xff1a; Enter password to unlock An application wants access to the keyring “Default ke... Password: The unlock password was incorrect Cancel Unlock 解决办法&#xff1a; 1.任意terminal下&#xff0c;输入如下…...

数据结构 (字符串:KMP)

KMP算法&#xff1a; 构造ne数组 和 匹配过程 vector<int> build_next(string s) { vector<int> ne(s.size()); ne[0] -1; for (int i 1, j -1; i < s.size(); i) { while (j ! -1 && s[i] ! s[j 1])j ne[j]; if (s[i…...

剑指offer搜索二维矩阵

题目连接 https://leetcode.cn/problems/search-a-2d-matrix-ii/’ 代码 自己想出来的 解法一 初始化两个指针&#xff0c;i0,j列数-1 若此时matrix[i][j]target 则返回true 若此时matrix[i][j]>target,表明在第j列中不可能存在target&#xff0c;因为列是升序的 若此时ma…...

【LIBS】开源库编译之OSQP

目录 编译环境源码下载本地编译交叉编译 编译环境 【LIBS】开源库编译之编译环境 源码下载 git clone --recursive --branch v0.6.3 https://github.com/osqp/osqp.git libosqp-0.6.3本地编译 cd libosqp-0.6.3cmake -B build_amd64 \-D CMAKE_BUILD_TYPERelease \-D CMAKE…...

【系统移植】制作SD卡启动——将uboot烧写到SD卡

在开发板上启动Linux内核&#xff0c;一般有两种方法&#xff0c;一种是从EMMC启动&#xff0c;还有一种就是从SD卡启动&#xff0c;不断哪种启动方法&#xff0c;当开发板上电之后&#xff0c;首先运行的是uboot。 制作SD卡启动&#xff0c;首先要将uboot烧写到SD卡&#xff…...

.NET重点

B/S C/S什么语言 B/S&#xff1a; 浏览器端&#xff1a;JavaScript&#xff0c;HTML&#xff0c;CSS 服务器端&#xff1a;ASP&#xff08;.NET&#xff09;PHP/JSP 优势&#xff1a;维护方便&#xff0c;易于升级和扩展 劣势&#xff1a;服务器负担沉重 C/S java/.NET/…...

米思奇图形化编程之ESP32控制LED灯闪烁方案实现

目录 一、项目概述 二、硬件准备 三、硬件连接 四、软件编程 五、验证效果 六、总结 一、项目概述 本项目使用米思奇图形化编程环境&#xff0c;编写micropython软件代码&#xff0c;实现了控制ESP32开发板上LED灯闪烁效果。该项目可为后续更复杂的物联网项目打下基础。…...

SMMU软件指南SMMU编程之全局错误和最小配置

安全之安全(security)博客目录导读 目录 一、全局错误 二、最小配置 一、全局错误 与编程接口相关的全局错误会报告到适当的 SMMU_(*_)GERROR 寄存器&#xff0c;而不是通过基于内存的事件队列。这些错误通常是严重的&#xff0c;例如导致 SMMU 停止向前推进。例如&#xf…...

JavaEE 导读与环境配置

JavaEE 介绍 Java EE(Java Platform Enterprise Edition), Java 平台企业版. 是JavaSE的扩展, ⽤于解决企业级的开发需求, 所以也可以称之为是⼀组⽤于企业开发的Java技术标准. 所以, 学习JavaEE主要是学习Java在企业中如何应⽤ 框架学习 Java EE 课程共涉及4个框架的学习: Spr…...

Cesium 实例化潜入潜出

Cesium 实例化潜入潜出 1、WebGL Instance 的原理 狭义的的WebGL 中说使用 Instance, 一般指使用 glDrawArraysInstanced 用于实例化渲染的函数。它允许在一次绘制调用中渲染多个相同的几何体实例&#xff0c;而无需为每个实例发起单独的绘制调用。 Three.js 就是使用这种方…...

设计模式——适配器模式

1. 定义 适配器模式&#xff08;Adapter Pattern&#xff09;属于结构型设计模式&#xff0c;它的主要作用是将一个类的接口转换成客户期望的另一个接口&#xff0c;使得原本由于接口不兼容而不能一起工作的类可以协同工作。简单来说&#xff0c;就是充当了不同接口之间的 “转…...

Linux安装Docker

如何在虚拟机中安装linux操作系统&#xff0c;参考文章&#xff1a; VMware下Centos7安装步骤-CSDN博客 使用Xshell链接到linux操作系统 执行命令&#xff0c;安装docker的底层工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 增加阿里云docker下载仓…...

CH430N 插上电脑无反应

电路图&#xff0c;此处我用的是3.3V供电&#xff0c;现象就是插上USB,电脑没有反应。搜索也搜索不到 抄板请看自己是多少V供电 后来看到也有类似的 换了芯片后就好了。md新板子第一个芯片就是坏的&#xff0c;服了。...

Java实现贪吃蛇游戏

目录 一、项目结构 二、实现步骤 1. 创建 Snake 类 2. 创建 Food 类 3. 创建 GameBoard 类 4. 创建 SnakeGame 类 三、总结 贪吃蛇是一个经典的电子游戏&#xff0c;它的玩法非常简单&#xff0c;但又充满了挑战。玩家通过控制蛇的移动&#xff0c;吃到食物并不断成长&a…...

为SSH2协议服务器的用户设置密钥

目录 私钥的创建1. 在服务器上直接生成2. 如果需要配置免密登录3. 查看生成的密钥 导出私钥至SSH用户获取sudo权限 新的一台服务器类型是SSH2&#xff1a;这表示服务器支持SSH&#xff08;Secure Shell&#xff09;协议的第二个版本。SSH是一个网络协议&#xff0c;用于加密方式…...

最新版Chrome浏览器加ActiveX控件之多个VLC控件同时加载

背景 VLC Media Player 是一款可播放大多数格式&#xff0c;而无需安装编解码器包的媒体播放器。可以播放 MPEG-1、MPEG-2、MPEG-4、DivX、DVD/VCD、卫星数字电视频道、地面数字电视频道(digital terrestrial television channels)、在许多作业平台底下透过宽带 IPv4、IPv6 网络…...

sql server 查询对象的修改时间

sql server 不能查询索引的最后修改时间&#xff0c;可以查询表&#xff0c;存储过程&#xff0c;函数&#xff0c;pk 的最后修改时间使用以下语句 select * from sys.all_objects ob order by ob.modify_date desc 但可以参考一下统计信息的最后修改时间&#xff0c;因为索…...

均值聚类算法

K-均值聚类算法是一种常用的无监督学习算法&#xff0c;用于将数据集划分成K个不同的簇。该算法的步骤如下&#xff1a; 1. 选择聚类的个数K。 2. 随机初始化K个聚类中心。 3. 对每个数据点计算其与聚类中心的距离&#xff0c;并将其划分到最近的聚类中心所代表的簇。 4. 对每…...

django中cookie与session的使用

一、cookie cookie由服务器生成 &#xff0c;存储在浏览器中的键值对数据,具有不安全性&#xff0c;对应敏感数据应该加密储存在服务端每个域名的cookie相互独立浏览器访问域名为A的url地址&#xff0c;会把A域名下的cookie一起传递到服务器cookie可以设置过期时间 django中设…...

Python 协程:并发编程的轻量级利器

一、协程是什么&#xff1f; 协程是一种比线程更加轻量级的存在。它可以在特定的点暂停执行&#xff0c;然后在后续某个时刻恢复执行&#xff0c;并且能够在暂停期间保存其执行状态。与传统的多线程模型不同&#xff0c;协程不需要操作系统进行线程上下文切换的开销&#xff0c…...

理解JVM

JVM简介 JVM 是 Java Virtual Machine 的简称&#xff0c;意为 Java 虚拟机 虚拟机是指通过软件模拟的具有完整硬件功能的、运行在一个完全隔离的环境中的完整计算机系统 常见的虚拟机&#xff1a; JVM 、 VMwave 、 Virtual Box JVM 和其他两个虚拟机的区别&#xff1a; 1…...

GhostRace: Exploiting and Mitigating Speculative Race Conditions-记录

文章目录 论文背景Spectre-PHT&#xff08;Transient Execution &#xff09;Concurrency BugsSRC/SCUAF和实验条件 流程Creating an Unbounded UAF WindowCrafting Speculative Race ConditionsExploiting Speculative Race Conditions poc修复flush and reload 论文 https:/…...

【环境搭建】使用IDEA远程调试Dolphinscheduler

以Dolphinscheduler-3.1.8为例&#xff0c;先把容器起了&#xff1a; $ docker pull apache/dolphinscheduler-standalone-server:3.1.8 $ docker run -d -p 12345:12345 -p 25333:25333 -p 5005:5005 -d apache/dolphinscheduler-standalone-server:3.1.8下载Dolphinschedule…...

强基计划之编程:开启科研精英培养新路径

强基计划之编程&#xff1a;开启科研精英培养新路径 一、强基计划概述 1. 出台背景 在 2003 年&#xff0c;教育部开启高校自主招生改革&#xff0c;于探索综合评价学生、破除招生“唯分数论”等方面收获一定成效。相关调查研究显示&#xff0c;自主招生所录取的学生在入校后…...

奇怪问题| Chrome 访问csdn 创作中心的时候报错: 服务超时,请稍后重试

Chrome 访问csdn 创作中心的时候报错&#xff1a; 服务超时,请稍后重试用无痕浏览器可以正常访问 关闭代理无效清缓存和Cookies无效。考虑无痕浏览器模式下插件不生效&#xff0c;尝试把chrome 插件也禁用&#xff0c;发现有效&#xff0c;是该扩展程序的缘故...

Spring Boot 教程之三十六:实现身份验证

如何在 Spring Boot 中实现简单的身份验证&#xff1f; 在本文中&#xff0c;我们将学习如何使用 Spring设置和配置基本身份验证。身份验证是任何类型的安全性中的主要步骤之一。Spring 提供依赖项&#xff0c;即Spring Security&#xff0c;可帮助在 API 上建立身份验证。有很…...

设计模式中单例模式中懒汉模式的问题

设计模式中单例模式中懒汉模式的问题 今天在项目中遇到了要使用懒汉模式的问题。百度之后&#xff0c;发现还有很多细节是自己之前没有见过的。于是记录一下。下面是在AI助手中的说明。 单例模式的懒汉模式&#xff08;Lazy Singleton&#xff09;是在需要时才创建实例&#…...

【唐叔学算法】第18天:解密选择排序的双重魅力-直接选择排序与堆排序的Java实现及性能剖析

引言 在数据排序的世界里&#xff0c;选择排序是一类简单而直观的算法&#xff0c;它通过不断选取未排序部分中的最小&#xff08;或最大&#xff09;元素来逐步构建有序序列。今天&#xff0c;我们将深入探讨两种基于选择思想的排序方法——直接选择排序和堆排序&#xff0c;…...

力扣48.旋转图像

文章目录 一、前言二、原地旋转 一、前言 力扣48.旋转图像 这道题要求把给定矩阵旋转90度&#xff0c;并且不允许使用额外矩阵来完成旋转图像。 于是这道题只能使用原地旋转的方法来解决 二、原地旋转 对于一个N3的矩阵来说&#xff0c;只需要两次循环就可以完成了 将A1放到…...

jdk1.8新特性、jvm内存结构、垃圾回收

一、JDK 1.8 也被称为 Java 8&#xff0c;有许多重要的新特性&#xff1a; 1、Lambda 表达式: 它允许把函数作为一个方法的参数&#xff08;函数作为值传递&#xff09;&#xff0c;可以用更紧凑的方式来表示匿名内部类了例如&#xff1a; new Thread(new Runnable() {Overr…...

MFC/C++学习系列之简单记录13

MFC/C学习系列之简单记录13 前言memsetList Control代码注意 总结 前言 今天记录一下memset和List control 的使用吧&#xff01; memset memset通常在初始化变量或清空内存区域的时候使用&#xff0c;可以对变量设定特定的值。 使用&#xff1a; 头文件&#xff1a; C&#…...