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

【28BYJ-48】STM32同时驱动4个步进电机,支持调速与正反转


  资料下载:待更新。。。。

先驱动起来再说,干中学!!!

1、实现功能

STM32同时驱动4个步进电机,支持单独调速与正反转控制
需要资源:16个任意IO口+1ms定时器中断
在这里插入图片描述


目录

    •   资料下载:待更新。。。。
    • 先驱动起来再说,干中学!!!
  • 1、实现功能
  • 一、28BYJ-48 步进电机
  • 二、ULN2003 驱动模块
  • 三、STM32 驱动代码实现
  • 3、修改引脚


【28BYJ-48】STM32同4个步进电机正反转与调速

一、28BYJ-48 步进电机

  28BYJ-48 是一款常见的四相八拍式步进电机,它由定子和转子两部分组成。定子上有四组绕组,按照一定的顺序通电,就能产生旋转磁场,吸引转子转动。
  其步距角通常为 5.625°/64(约 0.08789°,这里的 64 是八拍驱动方式下细分后的步数),这意味着电机每接收到一个脉冲信号,转子就会精确地转动一个微小的角度,通过连续不断地给脉冲,实现电机的连续旋转。
电机参数
  工作电压:一般为 5V - 12V,常见的是 5V 供电,这使得它可以方便地与微控制器(如 STM32)直接配合使用,无需复杂的电压转换电路。
  相电阻:每相绕组的电阻值在几十欧姆到上百欧姆不等,例如典型值约为 200Ω 左右,这个参数影响电机的电流和驱动电路的设计。
  扭矩:它的扭矩相对较小,适用于一些对驱动力要求不高的轻载场合,如小型自动化设备的指针转动、简易机器人关节的微调等,一般启动力矩在 30 - 40gf.cm 左右。

二、ULN2003 驱动模块

功能概述
  ULN2003 是一个高耐压、大电流达林顿阵列集成电路,主要用于驱动感性负载,如步进电机、继电器等。它内部集成了 7 个 NPN 达林顿复合晶体管,在驱动 28BYJ-48 步进电机时,通常只用其中 4 个通道对应电机的四相绕组。
工作原理
  当微控制器(如 STM32)的引脚输出高电平信号给 ULN2003 的输入端时,对应的达林顿管导通,将电机绕组与电源接通;当输入低电平时,达林顿管截止,绕组断电。通过控制 4 个输入引脚的电平序列,按照特定的时序给电机绕组通电,就能驱动电机旋转。
  它还具有续流二极管,当电机绕组断电时,为绕组产生的感应电动势提供泄放回路,保护驱动芯片和其他电路元件,防止反向电压击穿。
电气特性
  输出电流能力:每路输出可承受最大 500mA 的电流,足以驱动 28BYJ-48 电机,因为该电机在正常运行时每相电流一般在几十毫安。
  耐压值:集电极 - 发射极耐压可达 50V,这为电机在不同电压供电情况下提供了足够的电压裕量,确保可靠工作。

三、STM32 驱动代码实现

#include "stm32f10x.h"			//STM32库函数的头文件
#include "timer.h"				//STM32定时器
#include "step_motor.h"			//步进电机驱动
int main(void) //主函数
{	SystemInit();delay_init();NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //   2组中断分RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOA,ENABLE);	//打开GPIO口时钟,先打开复用才能修改是否停用复用功能GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);  	//能用PB3,PB4,PA15做普通IO,PA13&14用于SWD调试	TIM2_Int_Init(99,719);		//72000000HZ/(99+1)/(719+1)=1000HZ  1ms中断Step_Motor_Init1();stepmotor_speed1 = 4;  		//5ms一个脉冲  stepmotor_set1 = -4096;		//4096为一圈,设置电机反转一圈Step_Motor_Init2();stepmotor_speed2 = 3;		//4ms一个脉冲stepmotor_set2 = 4096;Step_Motor_Init3();stepmotor_speed3 = 2;		//3ms一个脉冲stepmotor_set3 = 4096;Step_Motor_Init4();stepmotor_speed4 = 1;		//2ms一个脉冲//速度 360*1000/(1+1)*4096 = 43.965°/sstepmotor_set4 = 4096;while(1){	}
}
void TIM2_IRQHandler(void)   //TIM2中断
{if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)  //检查TIM2更新中断发生与否{TIM_ClearITPendingBit(TIM2, TIM_IT_Update  );  //清除TIMx更新中断标志stepmotor_run1();stepmotor_run2();stepmotor_run3();stepmotor_run4();}
}

3、修改引脚

  通过宏定义快速修改引脚

/* 步进电机1参数宏 */
/* A相 */
#define LA_GPIO_PORT1    	GPIOA
#define LA_GPIO_PIN1     	GPIO_Pin_9
#define LA_GPIO_CLK1     	RCC_APB2Periph_GPIOA
/* B相 */
#define LB_GPIO_PORT1    	GPIOA
#define LB_GPIO_PIN1     	GPIO_Pin_10
#define LB_GPIO_CLK1     	RCC_APB2Periph_GPIOA
/* C相 */
#define LC_GPIO_PORT1    	GPIOA
#define LC_GPIO_PIN1    	GPIO_Pin_11
#define LC_GPIO_CLK1     	RCC_APB2Periph_GPIOA
/* D相 */
#define LD_GPIO_PORT1    	GPIOA
#define LD_GPIO_PIN1     	GPIO_Pin_12
#define LD_GPIO_CLK1     	RCC_APB2Periph_GPIOA

相关文章:

【28BYJ-48】STM32同时驱动4个步进电机,支持调速与正反转

资料下载:待更新。。。。 先驱动起来再说,干中学!!! 1、实现功能 STM32同时驱动4个步进电机,支持单独调速与正反转控制 需要资源:16个任意IO口1ms定时器中断 目录 资料下载:待更…...

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【代码篇】A题解题全流程(持续更新)

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【代码篇】A题解题全流程(持续更新) 环境配置: 显存>24GBPyTorch 2.3.0Python 3.12(ubuntu22.04)CUDA 12.1autoDL服务器平台,(好处:可以分享镜像&…...

迅为RK3568开发板驱动开发指南helloworld驱动实验-驱动的基本框架

Linux 驱动的基本框架主要由模块加载函数,模块卸载函数,模块许可证声明,模块参数,块导出符号,模块作者信息等几部分组成,其中模块参数,模块导出符号,模块作者信息是选的部分&#xf…...

Spring Boot 3.4.3 基于 JSqlParser 和 MyBatis 实现自定义数据权限

前言 在企业级应用中,数据权限控制是保证数据安全的重要环节。本文将详细介绍如何在 Spring Boot 3.4.3 项目中结合 JSqlParser 和 MyBatis 实现灵活的数据权限控制,通过动态 SQL 改写实现多租户、部门隔离等常见数据权限需求。 一、环境准备 确保开发环境满足以下要求: …...

软件工程面试题(二十三)

1、public class Test {public static void add(Integer i){int val=i.intValue(); val+=3; i=new Integer(val); } public static void main(String[] args) {Integer i=new Integer(0); add(i); System.out.println(i.intValue());...

spring boot 集成redis 中RedisTemplate 、SessionCallback和RedisCallback使用对比详解,最后表格总结

对比详解 1. RedisTemplate 功能:Spring Data Redis的核心模板类,提供对Redis的通用操作(如字符串、哈希、列表、集合等)。使用场景:常规的Redis增删改查操作。特点: 支持序列化配置(如String…...

leetcode-热题100(3)

leetcode-74-搜索二维矩阵 矩阵最后一列升序排序,在最后一列中查找第一个大于等于target的元素 然后在该元素所在行进行二分查找 bool searchMatrix(int** matrix, int matrixSize, int* matrixColSize, int target) {int n matrixSize;int m matrixColSize[0];in…...

【大模型系列篇】大模型基建工程:使用 FastAPI 构建 SSE MCP 服务器

今天我们将使用FastAPI来构建 MCP 服务器,Anthropic 推出的这个MCP 协议,目的是让 AI 代理和你的应用程序之间的对话变得更顺畅、更清晰。FastAPI 基于 Starlette 和 Uvicorn,采用异步编程模型,可轻松处理高并发请求,尤…...

基于大模型预测风湿性心脏病二尖瓣病变的多维度诊疗研究报告

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、大模型技术概述 2.1 大模型的原理与架构 2.2 在医疗领域的应用现状 三、术前评估与预测 3.1 患者数据收集与分析 3.1.1 临床数据收集 3.1.2 影像数据处理 3.2 大模型预测模型建立 3.2.1 数据预处理 3.…...

5.模型训练-毕设篇

vgg: base_model_vgg13 models.vgg13(pretrainedTrue) base_model_vgg13.classifier[-1] nn.Linear(4096, num_classes) base_model_vgg13.to(device)(b_img_rgb.to(device)).shapebase_model_vgg13 models.vgg13(pretrainedTrue) 作用:加载预训练的…...

[物联网iot]对比WIFI、MQTT、TCP、UDP通信协议

第一步:先理解最基础的关系(类比快递) 假设你要给朋友寄快递: Wi-Fi:相当于“公路和卡车”,负责把包裹从你家运到快递站。 TCP/UDP:相当于“快递公司的运输规则”。 TCP:顺丰快递&…...

【含文档+PPT+源码】基于Python的股票数据可视化及推荐系统的设计与实现

项目介绍 本课程演示的是一款基于Python的股票数据可视化及推荐系统的设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Python学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行…...

LeetCode算法题(Go语言实现)_23

题目 给你一个下标从 0 开始、大小为 n x n 的整数矩阵 grid ,返回满足 Ri 行和 Cj 列相等的行列对 (Ri, Cj) 的数目。 如果行和列以相同的顺序包含相同的元素(即相等的数组),则认为二者是相等的。 一、代码实现 func equalPairs…...

Windows家庭版如何开启Hyper-V与关闭Hyper-V

在Windows中如果要安装桌面版Docker,那么Hyper-V一定是需要开启的,在专业版操作系统上,这个功能直接就可以勾选开启,重启之后就即可生效,但在家庭版的操作系统上,默认是没有这个选择项的,这时候我们就需要借助于命令去开启它。本文,整理了一键开启Hyper-V服务和一键关闭…...

C# 中充血模型和‌贫血模型

在C#中,‌充血模型(Rich Domain Model)‌和‌贫血模型(Anemic Domain Model)‌是两种截然不同的领域建模方式,核心区别在于‌业务逻辑的归属‌。以下是通俗易懂的解释: 1. ‌贫血模型&#xff…...

C++中的继承

#include <iostream> using namespace std;// 武器类&#xff08;基类&#xff09; class Weapon { protected:int atk; // 攻击力public:// 构造函数Weapon(int atk 0) : atk(atk) {}// 虚拟析构函数virtual ~Weapon() {}// set 和 get 接口void setAtk(int atk) {this…...

Uubuntu20.04复现SA-ConvONet步骤

项目地址&#xff1a; tangjiapeng/SA-ConvONet: ICCV2021 Oral SA-ConvONet: Sign-Agnostic Optimization of Convolutional Occupancy Networks 安装步骤&#xff1a; 一、系统更新 检查系统是否已经更新到最新版本&#xff1a; sudo apt-get update sudo apt-get upgra…...

Blender模型导入虚幻引擎设置

单位系统不一致 Blender默认单位是米&#xff08;Meters&#xff09;&#xff0c;而虚幻引擎默认使用**厘米&#xff08;Centimeters&#xff09;**作为单位。 当模型从Blender导出为FBX或其他格式时&#xff0c;如果没有调整单位&#xff0c;虚幻引擎会将1米&#xff08;Blen…...

大数据Spark(五十五):Spark框架及特点

文章目录 Spark框架及特点 一、Spark框架介绍 二、Spark计算框架具备以下特点 Spark框架及特点 一、Spark框架介绍 Apache Spark 是一个专为大规模数据处理而设计的快速、通用的计算引擎。最初由加州大学伯克利分校的 AMP 实验室&#xff08;Algorithms, Machines, and Pe…...

深入理解Python asyncio:从入门到实战,掌握异步编程精髓

文章目录 前言一、asyncio基础概念1.1 什么是异步编程&#xff1f;1.2 asyncio核心组件 二、asyncio核心用法详解2.1 事件循环管理2.2协程与任务2.3 异步上下文管理器 三、asyncio高级特性3.1 异步生成器3.2异步队列3.3 异步锁和信号量 四、asyncio实战项目4.1 高性能Web爬虫4.…...

线段树,单点,区间修改查阅

#PermanentNotes/algorithm 思想 首先关于树有许多类型,这里我们主要首线段树,整体思想就是将一个大区间进行拆分,拆分成各个小区间,在我们进行查找,更新时,就是对区间的查找更新 类型 初始化,构建树 代码 const int Z 1e7; const ll INF 1e18; const int maxn 1e5 10…...

音视频(二)ffmpeg编译及推流

FFmpeg 大名鼎鼎&#xff0c;就不多介绍了 1&#xff1a;环境 win11_amd64 ffpmeg download:https://git.ffmpeg.org/ffmpeg.git ffmpeg msys2 download:https://www.msys2.org/ vs2022 (c 写demo用) 用别的也行 usb2.0 摄像头&#xff08;有点老&#xff09; opencv 看上传的…...

syslog 与 Linux 内核日志系统全面解析

在 Linux 系统中&#xff0c;日志是进行系统调试、故障排查和系统安全分析的重要手段。syslog 和内核日志是 Linux 日志组成的核心组件。本文将从原理、实现、配置、常见问题分析等综合解析&#xff0c;全面解读 Linux 下的日志机制。 一、syslog 系统概述 1.1 什么是 syslog …...

SQL问题分析与诊断(8)——关键信息(2)

8.2. 关键信息 8.2.2. 警告 查询计划中&#xff0c;可能会看到出现于操作符上的小图标&#xff0c;特别是黄色或红色的感叹号。这些图标都是警告。并非每个警告都指示一个严重问题&#xff0c;但发现时请检查该图标的属性窗口&#xff0c;其将包含该警告图标的具体细节。 8.…...

HCIA/HCIP基础知识笔记汇总

HCIA/HCIP基础知识笔记汇总 ICT产业链&#xff1a; 上游&#xff1a;芯片制造、元器件生产、光纤光缆制造 中游&#xff1a;硬件组装、软件开发、网络建设维护 下游&#xff1a;电信服务、互联网服务、终端产品 VLAN端口类型&#xff1a; access &#xff1a;…...

vue3 动态路由

定义&#xff1a; 对路由的添加通常是通过 routes 选项来完成的&#xff0c;但是在某些情况下&#xff0c;你可能想在应用程序已经运行的时候添加或删除路由 1. 动态添加路由规则 场景 在应用初始化时&#xff0c;可能需要根据用户的角色或权限动态添加路由规则。 实现 im…...

《Linux内存管理:实验驱动的深度探索》大纲

《Linux内存管理&#xff1a;实验驱动的深度探索》 ——通过递进式实验与问题剖析&#xff0c;从入门到精通 第一部分&#xff1a;初探内存——基础概念与简单实验 目标&#xff1a;理解内存的基本行为&#xff0c;学会观察和提问 第1章 内存初体验&#xff1a;从"free…...

【C语言】深入理解指针(五):sizeof、strlen与数组指针的那些事儿

前言 在C语言的学习中&#xff0c;指针始终是一个让人又爱又恨的话题。它强大而灵活&#xff0c;但同时也充满了陷阱。今天&#xff0c;我们就来深入探讨一下指针相关的几个重要知识点&#xff1a;sizeof和strlen的区别&#xff0c;以及数组和指针在笔试题中的那些常见问题。希…...

CMake学习-- install 指令详细说明

目录 CMake中install命令的用法背景知识使用方法项目结构示例代码CMakeLists.txt构建和安装 详细介绍安装库和头文件安装可执行文件安装额外的文件安装目录结构使用安装的库 总结 CMake中install命令的用法 背景知识 在软件开发过程中&#xff0c;构建和安装是两个重要的环节…...

Cannot find a valid baseurl for repo: centos-sclo-sclo/x86_64

​ rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-latest-5.0.el7.noarch.rpmyum clean allyum macache fast​ 编辑配置文件 /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository. [zabbix-frontend]...enabled1... 下载相关…...

uniapp 微信小程序 使用ucharts

文章目录 前言一、组件功能概述二、代码结构分析2.1 模板结构 总结 前言 本文介绍一个基于 Vue 框架的小程序图表组件开发方案。该组件通过 uCharts 库实现折线图的绘制&#xff0c;并支持滚动、缩放、触摸提示等交互功能。文章将从代码结构、核心方法、交互实现和样式设计等方…...

空调开机启动后发出噼里啪啦的异响分析与解决

背景 当空调使用时由于制冷或制热运转时&#xff08;关机后可能也会出现&#xff09;&#xff0c;塑料件热胀冷缩引起&#xff0c;可能会出现“咔咔”的声音&#xff1b;空调冷媒在空调内管路流动时会出现轻微的“沙沙”的声音&#xff1b;也有可能是新装的空调摆风轴出现响声…...

Python爬虫第3节-会话、Cookies及代理的基本原理

目录 一、会话和Cookies 1.1 静态网页和动态网页 1.2 无状态HTTP 1.3 常见误区 二、代理的基本原理 2.1 基本原理 2.2 代理的作用 2.3 爬虫代理 2.4 代理分类 2.5 常见代理设置 一、会话和Cookies 大家在浏览网站过程中&#xff0c;肯定经常遇到需要登录的场景。有些…...

《自然-方法》2024年度技术:空间蛋白质组学(spatial proteomics)

李升伟 编译 《自然-方法》第21卷 2195-2196页 (2024) 解析组织空间蛋白质组的技术&#xff0c;正成为图谱级研究项目的基石。这些项目正在兑现其承诺&#xff0c;帮助人类理解健康和疾病状态下的生物复杂性。 人类天生充满探索欲。我们热爱勘测未知疆域&#xff0c;并随之绘…...

pip安装timm依赖失败

在pycharm终端给虚拟环境安装timm库失败&#xff08; pip install timm&#xff09;&#xff0c;提示你要访问 https://rustup.rs/ 来下载并安装 Rust 和 Cargo 直接不用管&#xff0c;换一条命令 pip install timm0.6.13 成功安装 简单粗暴...

【工具变量】全国分省低空经济高质量发展数据(2012-2023年)

测算方式&#xff1a;参考CSSCI《北京航空航天大学学报(社会科学版)》沈映春&#xff08;2024&#xff09;老师的做法&#xff0c;如商图指标构建图所示。 包含内容&#xff1a; 样例代码&#xff1a; 样例数据&#xff1a; 参考文献&#xff1a;沈映春,张豪兴.数字基础设施建设…...

【Kubernetes】如何使用 kubeadm 搭建 Kubernetes 集群?还有哪些部署工具?

使用 kubeadm 搭建 Kubernetes 集群是一个比较常见的方式。kubeadm 是 Kubernetes 提供的一个命令行工具&#xff0c;它可以简化 Kubernetes 集群的初始化和管理。下面是使用 kubeadm 搭建 Kubernetes 集群的基本步骤&#xff1a; 1. 准备工作 确保你的环境中有两台或更多的机…...

Java 枚举类 Key-Value 映射的几种实现方式及最佳实践

Java 枚举类 Key-Value 映射的几种实现方式及最佳实践 前言 在 Java 开发中&#xff0c;枚举(Enum)是一种特殊的类&#xff0c;它能够定义一组固定的常量。在实际应用中&#xff0c;我们经常需要为枚举常量添加额外的属性&#xff0c;并实现 key-value 的映射关系。本文将详细…...

JavaScript instanceof 运算符全解析

JavaScript instanceof 运算符全解析 核心语义: 判断一个对象(object)是否属于某个构造函数(constructor)或类的实例,基于原型链(prototype chain)实现类型检测。 一、JavaScript 中的基础用法 1. 语法结构 object instanceof constructor 返回值:布尔值(true/fal…...

问题大集09-如何实现vite创建的react项目的配置别名路径@

&#xff08;1&#xff09;如何实现vite创建的react项目的配置别名路径 1&#xff09;直接修改 Vite 配置文件 ①打开项目根目录下的 vite.config.js 文件&#xff08;如果没有则新建&#xff09;&#xff0c;添加 resolve.alias 配置&#xff08;新增resolve部分&#xff09;…...

鸿蒙开发_TS快速入门_TS中模块化操作_模块的导入导出---纯血鸿蒙HarmonyOS5.0工作笔记008

然后我们再来看鸿蒙中的模块如何导入导出。 其实就跟Java中的import是一个意思的。 只不过我们如果想把一个类中的某个方法导入到另一个类中, 那么首先要在这个类中去导出这个方法。 可以看到导出的关键字是export。 然后导入的关键字是import。 然后我们写个例子去看一下,…...

算法设计与分析之“分治法”

分治法&#xff08;Divide and Conquer&#xff09;是一种高效的算法设计策略&#xff0c;其核心思想是将复杂问题分解为多个子问题&#xff0c;递归求解后再合并结果。以下是分治法的详细介绍&#xff1a; 一、分治法的基本步骤 分治法遵循以下三步流程&#xff1a; 分解&…...

java 静态内部类

java 静态内部类 一、位置二、特点三、静态内部类的实例化四、代码示例一&#xff1a;演示特点一五、代码示例二&#xff1a;演示特点二六、代码实例三&#xff1a;演示特点三七、代码实例四&#xff1a;演示特点四 文章同步更新&#xff08;更好的排版&#xff09;&#xff1a…...

Axure疑难杂症:完美解决文本框读取、赋值、计数(玩转文本框)

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;玩转文本框 主要内容&#xff1a;文本框读取、赋值、验证、计数 应用场景&#xff1a;验证码、文本限制、文本取值、文本赋值等场景 案例展示&…...

Python数据可视化-第2章-使用matplotlib绘制简单图表

环境 开发工具 VSCode库的版本 numpy1.26.4 matplotlib3.10.1 ipympl0.9.7教材 本书为《Python数据可视化》一书的配套内容&#xff0c;本章为第2章 使用matplotlib绘制简单图表 本文主要介绍了折线图、柱形图或堆积柱形图、条形图或堆积条形图、堆积面积图、直方图、饼图或…...

国产系统服务器识别不到SATA盘

在使用浪潮、海光、华三等系列服务器安装操作系统的时候提示没有足够的存储空间&#xff0c;其实是有两块512的SATA硬盘的&#xff0c;但是他没有识别到。 需要给硬盘做raid存储阵列才能让系统识别到他&#xff0c;下面是在BIOS中配置RAID的方法。 1、重启机器&#xff0c;按下…...

解决小程序video控件在真机和上线后黑屏不播放问题

小程序上线后&#xff0c;mp4格式的视频无法点击是黑屏&#xff0c;但是测试得时候在微信开发者工具中能够打开正常播放 原因&#xff1a;编码格式不能是vp9 微信开发者工具本地设置中把这个打开勾选。 排查&#xff1a;可以换一个视频尝试能不能真机播放&#xff0c;如果能&a…...

Vue3编译器深度解析:从模板编译到极致性能优化

一、编译技术架构演进 1.1 Vue2到Vue3编译架构升级 1.2 编译阶段性能基准对比 优化项Vue2编译耗时Vue3编译耗时性能提升模板解析速度12ms/千节点3ms/千节点75%AST遍历速度8ms/层级2ms/层级68%代码生成速度15ms/组件4ms/组件73%内存占用峰值84MB32MB62% 二、模板编译核心过程 …...

Google Gemini 2.0 网页抓取真丝滑

网页抓取从未如此简单——这一切都要归功于谷歌突破性的多模态实时API Gemini 2.0 借助这个工具&#xff0c;你可以毫不费力地从任何网页提取数据&#xff0c;无论页面结构多么复杂、内容多么杂乱无章&#xff0c;或是需要提取非常特定的信息。 今天&#xff0c;我将通过自己实…...

Leetcode-100 二分查找常见操作总结

二分查找常见操作总结 1. 基本二分查找 目标: 在有序数组 nums 中查找 target 的索引&#xff08;如果存在&#xff09;。 适用场景: 需要在 有序数组 中查找某个特定元素。适用于无重复元素的情况。 示例: 输入 nums [1, 2, 3, 4, 5], target 3&#xff0c;输出 2。 d…...