GPIO相关寄存器,点灯
目录
一.输入模式
1.浮空输入
2.上拉输入
3.下拉输入
4.模拟输入
二.输出模式
1.推挽输出
2.开漏输出
三.寄存器
1.寄存器的作用
2.功能与类型
3.控制某一引脚输出电压来点灯所需要控制的寄存器
1.打开对应时钟开关
2.端口模式寄存器 ---输出模式
3.输出类型寄存器 ---推挽模式
4.输出速度寄存器 ---低速
5.上下拉寄存器 ---既不上拉也不下拉
6..输出数据寄存器
四.库函数点灯
五.按键消抖
1.消抖
2.解决方法
2.1 延时消抖
2.抬手检测
六.光电开关
一.输入模式
1.浮空输入
此模式下,GPIO引脚的高低电平完全由外部输入决定。由于电平状态不确定,因此该模式容易受到外部干扰。浮空输入模式最常用于检测按键的按下状态,因为按键按下时,引脚电平会发生变化。
2.上拉输入
在此模式下,当GPIO引脚未连接外部信号时,通过内部的上拉电阻将引脚电平保持为高电平。如果外部对该引脚施加一个低电平信号,会改变引脚状态为低电平。这种模式常用于需要默认高电平的场合。
3.下拉输入
与上拉输入相反,下拉输入模式下,当GPIO引脚未连接外部信号时,通过内部的下拉电阻将引脚电平保持为低电平。如果外部对该引脚施加一个高电平信号,会改变引脚状态为高电平。这种模式常用于需要默认低电平的场合。
4.模拟输入
在此模式下,GPIO可以检测外部输入的模拟电压,并将其采样转化为数字信号。只要外部电压不高于Vcc(电源电压),就可以被GPIO检测。
二.输出模式
1.推挽输出
- 工作原理:在此模式下,GPIO引脚可以输出高电平(通常为Vcc)或低电平(0V)。这是通过控制内部的P-MOS和N-MOS管来实现的。当P-MOS管闭合,N-MOS管断开时,输出高电平;当P-MOS管断开,N-MOS管闭合时,输出低电平。
- 应用场景:推挽输出模式适用于需要高速切换和高负载能力的场合,如驱动LED指示灯、继电器等。
- 复用推挽输出(Alternate Function Push-Pull Output):在此模式下,GPIO引脚不仅可以输出高电平或低电平,还可以通过内部上拉电阻确保高电平时的稳定性。这种模式常用于SPI、UART等通信协议中的MOSI、MISO、SCK线路。
2.开漏输出
- 工作原理:在开漏输出模式下,P-MOS关闭,GPIO引脚只能输出低电平(接地),不能主动提供高电平。因此,通常需要外部或内部上拉电阻来提供高电平。
- 应用场景:开漏输出模式常用于需要多个设备共享同一条总线的场合,如I²C总线通信。此外,它还可以用于电平转换和不同电压系统之间的信号传输。3.复用
-
复用开漏输出(Alternate Function Open-Drain Output):与复用推挽输出类似,但只能输出低电平。这种模式同样适用于需要多个设备共享同一条总线的场合,如I²C总线通信。
三.寄存器
1.寄存器的作用
- 寄存器是单片机内部的一些存储单元
- 单片机的设置和寄存器直接关联,比如输出模式,比如输入输出的电压,比如上下拉电阻是否打开,所以,想要对单片机进行设置就是对寄存器进行改写的过程。
2.功能与类型
-
功能:
- 存储二进制代码:寄存器的主要功能是存储二进制代码,这些代码可以是数据、指令或地址。
- 高速访问:由于寄存器位于CPU内部,其访问速度远快于内存和外部存储设备。
- 暂存数据:寄存器可以用于存储中间结果,避免频繁访问内存,从而提高计算效率。
-
类型:
- 按照功能分类:基本寄存器和移位寄存器。基本寄存器只能并行送入和输出数据,而移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据输入输出方式更加灵活。
- 按照用途分类:通用寄存器、专用寄存器、浮点寄存器、向量寄存器、状态寄存器和特殊寄存器等。通用寄存器用于存储临时数据,专用寄存器用于存储特定类型的数据或执行特定功能,浮点寄存器用于存储浮点数据,向量寄存器用于存储向量数据,状态寄存器用于存储运算结果的状态信息,特殊寄存器则用于实现特定的控制功能。
3.控制某一引脚输出电压来点灯所需要控制的寄存器
1.打开对应时钟开关
我们的目的是使用PC13,所以要先打开C引脚组时钟。通过寻找内存架构找到了RCC相关的寄存器组,RCC寄存器组里的寄存器太多了。找到控制引脚组的RCC寄存器需要找到GPIO属于哪个总线上的(AHB1\APB1\APB2\PHB2等),通过查内存分配架构图可知,GPIO在AHB2总线上,所以,我们定位到了RCC_AHB2ENR1
2.端口模式寄存器 ---输出模式
3.输出类型寄存器 ---推挽模式
4.输出速度寄存器 ---低速
5.上下拉寄存器 ---既不上拉也不下拉
6..输出数据寄存器
- 打开时钟:RCC_AHB2ENR1 给第2位写1
- 配置端口模式寄存器 配置为输出模式 GPIOC_MODER 第27、26位写 0 1
- 配置输出类型寄存器 配置为推挽输出 GPIOC_OTYPER 第13位写0
- 配置输出速度数据寄存器 配置为很低 GPIOC_OSPEEDR 第 27、26位写 0 0
- 配置上下拉寄存器 配置为既不用上拉也不下拉 GPIOC_PUPDR 第27、26位写0 0
- 配置输出数据寄存器 给PC13引脚写1 GPIOC_ODR 第13位写1
GPIOC_MODER : 0x5202 0800+0X00=0x5202 0800
GPIOC_OTYPER : 0x5202 0800+0X04=0x5202 0804
GPIOC_OSPEEDR : 0x5202 0800+0X08=0x5202 0808
GPIOC_PUPDR :0x5202 0800+0X0C=0x5202 080C
GPIOc_ODR :0x5202 0800+0X14=0x5202 0814
void SystemInit(void)
{*(unsigned int*) 0xE000ED88|=((3UL << 20U)|(3UL << 22U));}
void delay(int T);typedef struct{unsigned int MODER;unsigned int OTYPER;unsigned int SPEED;unsigned int PUPDR;unsigned int IDR; unsigned int ODR;
}GPIO;#define GPIOC (*(GPIO *)0x52020800)
#define RCC_AHB2ENR1 *(unsigned int *)0x56020C8Cint main(void)
{RCC_AHB2ENR1 |= 1<<2;//配置RCC_AHB2ENR1的第2位置1,打开时钟GPIOC.MODER |= 1<<26;//GPIOC_MODER 的第26位置1,配置输出GPIOC.MODER &= ~(1<<27);//GPIOC_MODER 的第27位置0,配置输出GPIOC.OTYPER &= ~(1<<13);//GPIOC_OTYPER 的第13位置0,配置推挽GPIOC.SPEED &= ~(3<<26);//GPIOC_OSPPEDR 第27、26位置0GPIOC.PUPDR &= ~(3<<26);//GPIOC_PUPDR 第27、26位置0GPIOC.ODR |= 1<<13;//GPIOC_ODR 第13位置1while(1){GPIOC.ODR |= 1<<13;//GPIOC_ODR 第13位置1delay(1000);GPIOC.ODR &= ~(1<<13);//GPIOC_ODR 第13位置0 delay(1000); }
}void delay(int T)
{int a,b;for(a=0;a<T;a++)for(b=0;b<100;b++);
}
四.库函数点灯
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
功能: 设置或清除指定的端口位
参数:GPIO_TypeDef *GPIOx 端口号uint16_t GPIO_Pin 引脚号GPIO_PinState PinState 电平状态GPIO_PIN_SET 1 GPIO_PIN_RESET 0
返回值:无void HAL_GPIO_TogglePin (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin)
功能: 切换指定的引脚电平状态
参数:GPIO_TypeDef * GPIOx 端口号uint16_t GPIO_Pin 引脚号
返回值:无GPIO_PinState HAL_GPIO_ReadPin (GPIO_TypeDef * GPIOx, uint16_t GPIO_Pin)
功能: 读取指定的引脚电平状态
参数:GPIO_TypeDef * GPIOx 端口号uint16_t GPIO_Pin 引脚号
返回值:GPIO_PinState 电平状态GPIO_PIN_RESET 0GPIO_PIN_SET 1HAL_Delay()单位毫秒
五.按键消抖
当按键被按下,PC9为低电平,所以,检测PC9是否为低电平就可以直到PC9是否按下了
1.消抖
抖动原因:
任何的机械按键都会有抖动,而且人手按下抬起并不是一瞬间的,人抬手是需要反应时间的,所以会导致按下的低电平时间过长,导致多次误进if判断语句,所以会多次切换状态,导致误判。
2.解决方法
2.1 延时消抖
2.抬手检测
六.光电开关
遮挡-->PE15输出高电平--->PB2输入高电平
无遮挡-->PE15输出低电平--->PB2输入低电平
相关文章:
GPIO相关寄存器,点灯
目录 一.输入模式 1.浮空输入 2.上拉输入 3.下拉输入 4.模拟输入 二.输出模式 1.推挽输出 2.开漏输出 三.寄存器 1.寄存器的作用 2.功能与类型 3.控制某一引脚输出电压来点灯所需要控制的寄存器 1.打开对应时钟开关 2.端口模式寄存器 ---输出模式 3.输出类型寄存…...
25 - GRACE Mascon数据缺失月份数据插值
25 - GRACE Mascon数据缺失月份数据插值 0 引言1 程序包获取1.1 获取ssa插值算法程序包1.2 try2 利用ssa对grace mascon数据进行插值3 完整代码及相关函数3.1 Main程序3.1 子程序4 总结0 引言 💦💦💦💦💦 上篇介绍了grace mascon数据提取及简单的分析过程,仔细…...
深入理解Redis:从理论到实践的Java之旅
Redis,这个开源的内存数据结构存储系统,自2009年诞生以来,凭借其丰富的数据结构、快速的读写性能以及高度的可扩展性,迅速成为了分布式系统和高并发应用中的明星组件。本文将带你深入理解Redis,并通过Java语言的实践示…...
REDIS的集群
REDIS的集群模式: 主从模式:redis高可用的基础,哨兵和集群都是建立在此基础之上 特点: 主从模式和数据库的主从模式(工作模式)是一样的,主负责写入,然后把写入到数据同步到从&…...
linux——vi命令常用操作
一、vi模式 vi一般分为三种模式,分别是命令行模式、插入模式、末行模式 1.命令模式:控制屏幕光标的移动,按 :进入末行模式,按 i(其他插入命令也可) 进入插入模式; 2.插入模式&…...
SKETCHPAD——允许语言模型生成中间草图,在几何、函数、图算法和游戏策略等所有数学任务中持续提高基础模型的性能
概述 论文地址:https://arxiv.org/pdf/2406.09403 素描是一种应用广泛的有效工具,包括产生创意和解决问题。由于素描能直接传达无法用语言表达的视觉和空间信息,因此从古代岩画到现代建筑图纸,素描在世界各地被用于各种用途。儿童…...
计算机网络•自顶向下方法:网络应用原理
网络应用原理 网络应用架构 目前有两种主流的网络应用架构: 客户-服务器架构(Client-server) 服务器(server): 有一台总是在线的主机,上面运行着服务器程序(server)服务器主机(server machine)具有永久的…...
python: Oracle Stored Procedure query table
oracel sql script CREATE OR REPLACE PROCEDURE SelectSchool(paramSchoolId IN char,p_cursor OUT SYS_REFCURSOR ) AS BEGINOPEN p_cursor FORSELECT *FROM SchoolWHERE SchoolId paramSchoolId; END SelectSchool; /-- 查询所有 CREATE OR REPLACE PROCEDURE SelectScho…...
Webpack学习笔记(6)
首先搭建一个基本的webpack环境: 执行npm init -y,创建pack.json,保存安装包的一些信息 执行npm install webpack webpack-cli webpack-dev-server html-webpack-plugin -D,出现node_modules和package-lock.json。 1.source-Ma…...
数仓建模:如何进行实体建模?
目录 1 如何进行实体建模? 业务建模 领域建模 逻辑建模 2 实体建模具体步骤 需求分析...
C++ 设计模式:享元模式(Flyweight Pattern)
链接:C 设计模式 链接:C 设计模式 - 单例模式 享元模式(Flyweight Pattern)是一种结构型设计模式,它通过共享尽可能多的相同对象来减少内存使用和提高性能。享元模式适用于大量细粒度对象的场景,这些对象之…...
idea报错:There is not enough memory to perform the requested operation.
文章目录 一、问题描述二、先解决三、后原因(了解) 一、问题描述 就是在使用 IDEA 写代码时,IDEA 可能会弹一个窗,大概提示你目前使用的 IDEA 内存不足,其实就是提醒你 JVM 的内存不够了,需要重新分配。弹…...
Kubernetes Gateway API-2-跨命名空间路由
1 跨命名空间路由 Gateway API 具有跨命名空间路由的核心支持。当多个用户或团队共享底层网络基础设施时,这很有用,但必须对控制和配置进行分段,以尽量减少访问和容错域。 Gateway 和 Route(HTTPRoute,TCPRoute,GRPCRoute) 可以部署到不同的命名空间中,路由可以跨命名空间…...
【视觉SLAM:四、相机与图像】
相机模型 相机模型是计算机视觉中的重要内容,用于描述真实相机如何将三维世界投影到二维图像平面。以下从多个角度介绍常见的相机模型。 针孔相机模型 针孔相机模型是最简单的相机模型,用数学公式描述从三维世界到二维图像平面的映射关系。核心公式如…...
【spring】参数校验Validation
前言 在实际开发中,我们无法保证客户端传来的请求都是合法的。比如一些要求必传的参数没有传递,传来的参数长度不符合要求等,这种时候如果放任不管,继续执行后续业务逻辑,很有可能就会出现意想不到的bug。 有人可能会…...
基于 InternLM 和 LangChain 搭建你的知识库
本文基于InternStudio 算力平台利用 InternLM 和 LangChain 搭建知识库。 InternStudio (OpenAIDE)[1] 是面向算法开发者与研究员的云端集成开发环境。基于「容器实例」,「镜像中心」,「分布式训练」,「公开数据集」模块为用户提供 “算力、算…...
C++ 设计模式:备忘录模式(Memento Pattern)
链接:C 设计模式 链接:C 设计模式 - 状态模式 备忘录模式(Memento Pattern)是一种行为设计模式,它允许在不破坏封装性的前提下捕获和恢复对象的内部状态。这个模式在需要保存和恢复对象状态的场景中非常有用ÿ…...
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
SMEC88ST SDK开发包下载 目前市场上很多嵌入式产品方案都是可以破解复制的,主要是因为方案主芯片不具备防破解的功能,这就导致开发者投入大量精力、财力开发的新产品一上市就被别人复制,到市场上的只能以价格竞争,最后工厂复制的产…...
利用JavaScript实现猜数字
一,使用while循环实现 以下代码为固定数字非随机数,答案通过弹窗来设置,结果太唯一。 let number;while (true) {number prompt(我正在想一个1-10的数字,你猜猜看?);switch (number) {case "1":alert("小了&quo…...
terminal_学习
参考: 让你的 Mac 提前用上 macOS Catalina 的 Shell——Oh My Zsh 配置指南 https://sspai.com/post/55176MAC 终端美化教程(来个全套 )https://blog.csdn.net/weixin_42326144/article/details/121957795 x.1 zsh做美化(安装oh…...
MongoDB 管理工具
关于 MongoDB 的管理工具,目前市面上有多款优秀的 GUI 工具可供选择。这些工具旨在提高 MongoDB 的开发和管理效率,使得数据库操作更加便捷和高效。以下是一些推荐的工具: MongoDB Compass:这是 MongoDB 官方提供的一款 GUI 管理工…...
46. Three.js案例-创建颜色不断变化的立方体模型
46. Three.js案例-创建颜色不断变化的立方体模型 实现效果 知识点 Three.js基础组件 WebGLRenderer THREE.WebGLRenderer是Three.js提供的用于渲染场景的WebGL渲染器。它支持抗锯齿处理,可以设置渲染器的大小和背景颜色。 构造器 antialias: 是否开启抗锯齿&am…...
机器学习-高斯混合模型
文章目录 高斯混合模型对无标签的数据集:使用高斯混合模型进行聚类对有标签的数据集:使用高斯混合模型进行分类总结实战 高斯混合模型 对无标签的数据集:使用高斯混合模型进行聚类 对有标签的数据集:使用高斯混合模型进行分类 总结…...
Linux官文转载-- Linux 内核代码风格
Warning 此文件的目的是为让中文读者更容易阅读和理解,而不是作为一个分支。 因此, 如果您对此文件有任何意见或更新,请先尝试更新原始英文文件。 这是一个简短的文档,描述了 linux 内核的首选代码风格。代码风格是因人而异的&a…...
通过无障碍服务(AccessibilityService)实现Android设备全局水印显示
一、无障碍功能简介 首先我们先来了解下无障碍功能的官方介绍: 无障碍服务仅应用于帮助残障用户使用 Android 设备和应用。它们在后台运行,并在触发 AccessibilityEvents 时接收系统的回调。此类事件表示用户界面中的某些状态转换,例如焦点已…...
Dockerfile基础指令
1.FROM 基于基准镜像(建议使用官方提供的镜像作为基准镜像,相对安全一些) 举例: 制作基准镜像(基于centos:lastest) FROM cenots 不依赖于任何基准镜像 FROM scratch 依赖于9.0.22版本的tomcat镜像 FROM…...
rocketmq5源码系列--(二)--生产者发送消息
这是broker源码系列第一篇。还是和往常一样,建议copy到本地阅读 broker是基于netty的 rocketmq队列分物理队列和逻辑队列,物理队列只有一个而逻辑队列有很多个 rocketmq 物理队列,一个物理队列对应一个文件,一个物理队列可以对…...
uniapp从入门到精通(全网保姆式教程)~ 别再说你不会开发小程序了
目录 一、介绍 二、环境搭建(hello world) 2.1 下载HBuilderX 2.2 下载微信开发者工具 2.3 创建uniapp项目 2.4 在浏览器运行 2.5 在微信开发者工具运行 2.6 在手机上运行 三、项目基本目录结构 四、开发规范概述 五、全局配置文件࿰…...
Kali 自动化换源脚本编写与使用
1. 背景与需求 在使用 Kali Linux 的过程中,软件源的配置对系统的更新与软件安装速度至关重要。 Kali 的默认官方源提供了安全且最新的软件包,但有时由于网络条件或地理位置的限制,使用官方源可能会出现速度较慢的问题。 为了解决这一问题&a…...
mysql-二进制安装方式
目录 1. 安装组件即依赖包 2. 创建用户 3. 关闭防火墙 4. 解压mysql二进制源码包 5. 创建文件夹并赋予权限 6. 编译安装mysql,安装完成最后面,会有一串英文,那是登录数据库的密码 7. 设置配置文件 8. 将mysql添加进环境变量 9. 复制…...
深入剖析Android SoundPool及其JNI实现
深入剖析Android SoundPool及其JNI实现 1. SoundPool概述 SoundPool是Android中用于管理和播放音频资源的类,特别适合播放短小的音效,如游戏中的爆炸声、按钮点击声等。与MediaPlayer相比,SoundPool具有以下优势: 低延迟:SoundPool适用于需要快速响应的音效播放。并发播…...
15_C语言 -构造类型
构造类型 数据类型 基本类型: 整型 short / short int(2字节)整型(默认) :int(4字节)长整型:long / long int (8字节 (64位系统)&am…...
Python爬虫 - 豆瓣电影排行榜数据爬取、处理与存储
文章目录 前言一、使用版本二、需求分析1. 分析要爬取的内容1.1 分析要爬取的分类1.2 分析要爬取的单个电影的数据1.3 分析如何获取单个电影数据1.3.1 预览数据1.3.2 查看请求网址、方法及请求头信息1.3.3 查看请求参数 2. 数据用途2.1 统计分析2.2 探索性数据分析 (EDA)2.3 高…...
知识碎片-环境配置
1.添加-i 下载快: pip install onnxruntime-gpu==X.X.X -i https://pypi.tuna.tsinghua.edu.cn/simple 清华源 pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里源 pip install xxx -i https://mirrors.aliyun.com/pypi/simple 中科大源 pip install xxx -…...
手机实时提取SIM卡打电话的信令声音-智能拨号器的SIP线路-双卡双待单通方案
手机实时提取SIM卡打电话的信令声音 --智能拨号器的SIP线路-双卡双待单通方案 一、前言 蓝牙电话的技术方案最初是从蓝牙耳机和车机蓝牙的使用领域延伸出来的技术方式。通过蓝牙的HFP协议,把手机通话的声音和通话事件状态提取出来进行复用和处理。但中国大陆现行…...
LangChain教程 - 表达式语言 (LCEL) -构建智能链
系列文章索引 LangChain教程 - 系列文章 LangChain提供了一种灵活且强大的表达式语言 (LangChain Expression Language, LCEL),用于创建复杂的逻辑链。通过将不同的可运行对象组合起来,LCEL可以实现顺序链、嵌套链、并行链、路由以及动态构建等高级功能…...
pytorch学习笔记汇总
一.tensor创建 1.张量的定义 张量在形式上就是多维数组,例如标量就是0维张量,向量就是一维张量,矩阵就是二维张量,而三维张量就可以想象RGB图片,每个channel是一个二维的矩阵,共有三个channel࿰…...
uniapp配置文字艺术字体风格
1.vue配置 App.vue中: <style>/*每个页面公共css *//* 全局字体风格 */font-face {font-family: gufengFont;src: url(./static/font/gufeng.ttf) format(truetype);font-weight: normal;font-style: normal;} </style>页面中: .text1 {f…...
江科大学习笔记之——HAL库点亮一个LED灯
HAL三步走:1.建工程。2.设配置。3.写代码 一.建立工程 HAL库写法 点击FinIsh 2.配置时钟 2 、设置配置参数 把模块.C.h单独设置文件 生产代码 三写代码 控制GPIO就三步 1.RCC时钟使能 2.结构体配置GPIO寄存器 3.控制GPIO值 上面的步骤已经把前两步的配置完成了接下…...
java web项目软件自动生成使用初体验-帅帅软件生成平台ASoft
软件默认 登陆账号 admin 密码 123456 一、软件使用简介说 AI软件自动生成越来越成熟,但AI生成的软件代码只是片段化的,不成体系。有没有一款可以10-30分钟自动生成JAVA WEB休系的软件?我也找了好久,终于找到了,开发…...
损失函数-二分类和多分类
二分类和多分类的损失函数 二分类 损失函数 L ( y , y ^ ) − ( y l o g ( y ^ ) ) ( 1 − y ) l o g ( 1 − y ^ ) L(y,\hat{y}) -(ylog(\hat{y})) (1-y)log(1-\hat{y}) L(y,y^)−(ylog(y^))(1−y)log(1−y^) 其中真实标签表示为y(取值为 0 或 1&#…...
Springboot:后端接收数组形式参数
1、接收端写法 PermissionAnnotation(permissionName "",isCheckToken true)PostMapping("/batchDeleteByIds")public ReturnBean webPageSelf( NotNull(message "请选择要删除的单据!") Long[] ids) {for (Long string : ids) {l…...
CSS系列(46)-- Color Functions详解
前端技术探索系列:CSS Color Functions详解 🎨 致读者:探索颜色函数的艺术 👋 前端开发者们, 今天我们将深入探讨 CSS Color Functions,这个强大的颜色处理特性。 基础函数 🚀 颜色空间 /…...
MySQL数据库误删恢复_mysql 数据 误删
2、BigLog日志相关 2.1、检查biglog状态是否开启 声明: 当前为mysql版本5.7 当前为mysql版本5.7****当前为mysql版本5.7 2.1.1、Navicat工具执行 SHOW VARIABLES LIKE LOG_BIN%;OFF 是未开启状态,如果不是ON 开启状态需要开启为ON。{默认情况下就是关闭状态} 2.…...
ModiLeo交易平台:引领数字货币交易新未来
在当今数字化高速发展的时代,数字货币作为一种新兴的金融资产形式,正逐渐改变着全球金融格局。而此刻,由印度 ModiLeo 实验室联合全球顶级投行共同打造的全球领先的一站式数字货币交易平台——ModiLeo 即将上线,这无疑是数字货币领…...
57.插入区间 python
插入区间 题目题目描述示例 1:示例 2:提示: 题解解题思路python实现代码解释提交结果 题目 题目描述 给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] [starti, endi] 表示第 i 个…...
使用WebRTC进行视频通信
一、WebRTC技术简介 什么是WebRTC? 是一种支持浏览器之间实时音频、视频和数据传输的开放源代码项目。它允许开发者在不需要任何第三方插件或软件的情况下实现点对点的实时通信。WebRTC已经成为现代Web应用中的关键技术,为开发者提供了强大的工具和API…...
详细讲解axios封装与api接口封装管理
一、axios封装 axios是基于promise的http客户端,用于浏览器和nodejs发送http请求 ,对它进行封装主要是为了统一管理请求配置和处理请求和响应的通用逻辑等。以下是常用的封装逻辑和要点 1:引入axios相关依赖 首先引用项目中的axios库&…...
likeAdmin架构部署(踩坑后的部署流程
1、gitee下载 https://gitee.com/likeadmin/likeadmin_java.git 自己克隆 2、项目注意 Maven:>3.8 ❤️.9 (最好不要3.9已经试过失败 node :node14 (不能是18 已经测试过包打不上去使用14的换源即可 JDK:JDK8 node 需要换源 npm c…...
算法-回文数判断
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数 是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,…...