嵌入式---加速度计
一、基本概念与定义
-
定义
加速度计(Accelerometer)是一种测量物体加速度(线性加速度或振动加速度)的传感器,可检测物体运动状态、振动幅度、倾斜角度等,输出与加速度成比例的电信号(模拟或数字信号)。- 核心功能:测量加速度(单位:m/s²或g,1g=9.80665m/s²),间接反映物体的运动、振动、姿态变化。
-
物理基础
基于牛顿第二定律(F=ma),通过质量块(敏感质量)在加速度作用下产生的惯性力,转化为可测量的物理量(如位移、应力、电压等)。
二、工作原理与分类
(一)按工作原理分类
-
机械式加速度计
- 原理:利用质量块在加速度下的位移,通过机械结构(如杠杆、弹簧)传递并放大,结合电位器、齿轮等转换为电信号。
- 特点:结构简单、成本低,但精度低、体积大,已逐步被淘汰。
-
压电式加速度计
- 原理:基于压电效应(石英、压电陶瓷等材料在应力下产生电荷),质量块的惯性力使压电材料变形,输出电荷信号。
- 特点:高频响应好(适合振动测量)、量程大(可达10000g以上),但不能测量静态加速度(直流信号),需电荷放大器。
- 应用:工业振动监测、冲击测试、航空发动机状态监控。
-
电容式加速度计
- 原理:由固定电极和质量块(可动电极)构成电容,加速度导致质量块位移,改变电容值(差分电容结构提高灵敏度)。
- 特点:可测静态/动态加速度、功耗低、易集成,广泛用于MEMS传感器。
- 典型结构:平行板电容、梳齿电容(提高灵敏度)。
-
MEMS加速度计(微机电系统)
- 原理:基于MEMS工艺,在硅片上制造微型质量块、弹性梁、检测电极等结构,通过电容/压阻/隧道效应等检测位移。
- 分类:
- 电容式MEMS:最主流,高精度、低功耗(如手机加速度计)。
- 压阻式MEMS:质量块位移导致电阻变化(惠斯通电桥),灵敏度高但温度漂移大。
- 隧道效应式:利用量子隧穿效应,分辨率极高(可达10⁻⁹g),但工艺复杂。
- 优势:体积小(mm级)、成本低、易集成传感器融合(如与陀螺仪、磁力计组合成IMU)。
-
其他类型
- 压阻式:利用半导体压阻效应(如硅材料在应力下电阻率变化),常见于工业级传感器。
- 伺服式(力平衡式):通过反馈力抵消惯性力,精度极高(0.001g级),用于航空航天惯性导航。
- 光纤式:利用光纤应变或光程变化,抗电磁干扰,适合恶劣环境(如高压、高温)。
(二)按测量轴数分类
- 单轴:测量1个方向加速度(如沿x轴)。
- 双轴:测量x、y轴加速度(二维平面)。
- 三轴:测量x、y、z轴加速度(三维空间,最常用,如手机姿态检测)。
(三)按应用场景分类
- 静态加速度计:测量恒定或低频加速度(如重力场中的倾斜角度)。
- 动态加速度计:测量高频振动、冲击等瞬态加速度(如地震监测、车辆碰撞测试)。
三、关键技术参数
-
量程(Range)
- 可测量的加速度范围(如±2g、±50g、±2000g),需根据应用选择(消费电子常用±2g~±16g,工业振动监测需±100g以上)。
-
灵敏度(Sensitivity)
- 单位加速度对应的输出信号变化(如1000mV/g),高灵敏度适合微小加速度测量,但易受噪声干扰。
-
分辨率(Resolution)
- 可检测的最小加速度变化(如10μg),受噪声和量化误差限制(与ADC精度相关)。
-
带宽(Bandwidth)
- 有效测量的频率范围:
- 直流响应(0Hz~f):可测静态加速度(如MEMS电容式、伺服式)。
- 交流耦合(f_L~f_H):阻断直流,适合动态振动(如压电式,f_L>1Hz)。
- 有效测量的频率范围:
-
噪声密度(Noise Density)
- 单位带宽内的噪声幅度(如μg/√Hz),直接影响分辨率,低噪声设计需优化电路和结构。
-
非线性度(Nonlinearity)
- 输出与输入加速度的线性偏离程度(通常<0.1%FS,FS为满量程),影响测量精度。
-
温度漂移(Temperature Drift)
- 温度变化引起的零点偏移和灵敏度变化(如10μg/°C),需温度补偿(内置温度传感器或算法校正)。
-
零偏稳定性(Zero-g Offset Stability)
- 静止时输出偏离零加速度的程度(长期漂移,影响静态测量,如倾斜角度计算)。
-
抗冲击能力(Shock Resistance)
- 可承受的最大瞬时冲击加速度(如10000g持续1ms),MEMS传感器通常优于10000g。
四、应用领域
-
消费电子
- 手机/平板:姿态检测(横竖屏切换)、计步、运动识别(摇一摇)、跌落检测。
- 可穿戴设备:运动分析(跑步步频、游泳姿态)、跌倒检测(老年人监护)。
- 游戏外设:体感控制(如VR手柄动作捕捉)。
-
汽车电子
- 安全气囊触发:检测碰撞时的冲击加速度。
- ESP(车身稳定系统):监测车辆侧倾、俯仰加速度,辅助控制。
- 轮胎压力监测(TPMS):通过振动分析判断胎压异常。
-
航空航天与国防
- 惯性导航系统(INS):与陀螺仪、磁力计组合,提供三维运动参数(加速度、角速度、位置)。
- 导弹制导:高精度加速度计(如激光陀螺惯性导航)实时修正轨迹。
- 无人机/直升机:姿态控制(稳定悬停、避障)。
-
工业与智能制造
- 振动监测:电机、齿轮箱故障诊断(通过频谱分析加速度信号)。
- 结构健康监测:桥梁、建筑物的振动模态分析(长期加速度数据采集)。
- 机器人:机械臂运动控制、碰撞检测。
-
医疗与生物医学
- 康复设备:假肢运动控制、步态分析(检测下肢加速度)。
- 睡眠监测:通过体动加速度判断睡眠阶段(浅睡/深睡)。
- 医疗仪器:输液泵振动检测、手术机器人稳定控制。
-
地质与环境监测
- 地震仪:检测地表振动加速度,预警地震等级。
- 滑坡监测:布设在山体的加速度传感器实时反馈位移变化。
五、校准与误差来源
-
校准方法
- 静态校准:在已知重力场中(如水平/垂直放置),校准零偏和灵敏度(利用转台或倾斜台)。
- 动态校准:使用振动台产生标准加速度信号(如正弦波),验证带宽和幅频特性。
- 温度校准:在温箱中测试不同温度下的漂移,生成补偿系数。
-
主要误差来源
- 温度影响:材料热膨胀导致质量块位移偏差,需温度传感器实时补偿。
- 安装误差:传感器轴线与被测加速度方向不重合,引入余弦误差(需精确对准)。
- 交叉轴灵敏度:非测量轴的加速度引起的输出误差(如y轴加速度干扰x轴测量)。
- 噪声与干扰:电磁噪声(EMI)、电源纹波、机械振动耦合(需屏蔽和隔振设计)。
六、发展趋势
-
MEMS化与集成化
- 微型化(尺寸<1mm³)、低功耗(μA级电流),集成更多功能(如温度补偿、自校准电路)。
- 与陀螺仪、磁力计、气压计等集成,形成多功能惯性测量单元(IMU)或系统级芯片(SoC)。
-
高精度与高可靠性
- 分辨率提升至亚μg级(如用于重力梯度测量),零偏稳定性达μg级/小时。
- 耐极端环境(-55°C~+125°C温度、高压、强冲击),满足航空航天和工业严苛需求。
-
智能化与自诊断
- 内置微处理器,实现自动校准、故障检测(如传感器漂移预警)。
- 结合机器学习算法,优化噪声滤波、运动模式识别(如区分步行与跑步)。
-
新兴应用拓展
- 物联网(IoT):海量部署的低成本MEMS加速度计,用于设备状态监测(如智能电表振动检测)。
- 自动驾驶:高精度三轴加速度计辅助惯性导航,应对GNSS信号丢失场景。
- 元宇宙与AR/VR:更灵敏的姿态检测,实现精准手势识别和虚拟空间定位。
七、常见问题与对比
-
加速度计 vs. 陀螺仪
- 加速度计:测量线性加速度(含重力),用于姿态(倾斜角)、运动速度/位移计算(积分)。
- 陀螺仪:测量角速度,用于姿态角速率检测,结合加速度计可通过互补滤波提高姿态精度(如四元数融合算法)。
-
如何选择加速度计?
- 量程:根据应用场景(静态/动态)选择,如手机选±2g~±16g,工业振动选±100g以上。
- 带宽:动态测量需高频响应(如压电式适合1kHz~100kHz),静态选直流响应(MEMS电容式)。
- 精度需求:导航级需0.1g以下误差,消费电子可放宽至1%~5%。
- 环境因素:高温选压电陶瓷,强电磁选光纤式,低成本选MEMS。
八、总结
加速度计是现代测量与控制领域的核心传感器,从早期机械式到如今的MEMS集成化,其技术演进始终围绕微型化、高精度、低功耗和智能化。理解其工作原理、关键参数及应用场景,有助于在不同领域(消费电子、工业、航空航天)中合理选型和优化设计。未来,随着物联网、自动驾驶等技术的发展,加速度计将在更复杂的环境中发挥关键作用,推动“万物感知”的实现。
相关文章:
嵌入式---加速度计
一、基本概念与定义 定义 加速度计(Accelerometer)是一种测量物体加速度(线性加速度或振动加速度)的传感器,可检测物体运动状态、振动幅度、倾斜角度等,输出与加速度成比例的电信号(模拟或数字信…...
Redis如何判断哨兵模式下节点之间数据是否一致
在哨兵模式下判断两个Redis节点的数据一致性,可以通过以下几种方法实现: 一、检查主从复制偏移量 使用INFO replication命令 分别在主节点和从节点执行该命令,比较两者的master_repl_offset(主节点)和slave_repl_offs…...
Spring 核心注解深度解析:@Autowired、@Repository 与它们的协作关系
引言 在 Spring 框架中,依赖注入(DI) 是实现松耦合架构的核心机制。Autowired 和 Repository 作为两个高频使用的注解,分别承担着 依赖装配 和 数据访问层标识 的关键职责。本文将深入探讨它们的功能特性、协作模式…...
LeetCode541反转字符串②
思路: 关键是判断反转的右边界, ①当剩余字符数<k,是反转当前所有字符,右边界就是rightlen-1,不可以超过len-1,会越界; ②当剩余字符数>k且<2k,反转k个字符,右边界就是righ…...
Ubuntu 22 Linux上部署DeepSeek+RAG知识库操作详解(Dify方式)之2
上一篇在ubuntu上通过docker拉取了dify并启动与它相关的服务,本篇主要介绍两个知识点: 一是配置模型,使用之前通过Xinference搭建的本地deepseek模型,启动过程参考前期文档,这里就不做介绍了。(注意一点&a…...
如何在多线程中安全地使用 PyAudio
1. 背景介绍 在多线程环境下使用 PyAudio 可能会导致段错误(Segmentation Fault)或其他不可预期的行为。这是因为 PyAudio 在多线程环境下可能会出现资源冲突或线程安全问题。 PyAudio 是一个用于音频输入输出的 Python 库,它依赖于 PortAu…...
Spring MVC与Spring Boot文件上传配置项对比
Spring MVC与Spring Boot文件上传配置项对比 一、Spring MVC配置项(基于不同MultipartResolver实现) 1. 使用 CommonsMultipartResolver(Apache Commons FileUpload) Bean public MultipartResolver multipartResolver() {Common…...
多类型医疗自助终端智能化升级路径(代码版.上)
大型医疗自助终端的智能化升级是医疗信息化发展的重要方向,其思维链一体化路径需要围绕技术架构、数据流协同、算法优化和用户体验展开: 一、技术架构层:分布式边缘计算与云端协同 以下针对技术架构层的分布式边缘计算与云端协同模块,提供具体编程实现方案: 一、边缘节点…...
Chrome 浏览器插件收录
1. Responsive Viewer 可以在同个窗口内,针对同一网站,添加多个不同设备屏幕显示。 在前端开发,需要多端适配,尤其是移动端响应式适配的网站开发中,可以同时测试多个不同屏幕的适配效果。 2. VisBug 提供工具栏&#x…...
力扣hot100_回溯(2)_python版本
一、39. 组合总和(中等) 代码: class Solution:def combinationSum(self, candidates: List[int], target: int) -> List[List[int]]:ans []path []def dfs(i: int, left: int) -> None:if left 0:# 找到一个合法组合ans.append(pa…...
文档大模型
处理流程: 对表格或者文章文档切分成chunk,将其存入DB根据chunk文档内容,通过prompt生成问题(qwen)通过sentencetransformer生成embbedding(Text embedding 模型 stella_large 模型,长文本编码), 第二步 抽…...
基于分布式指纹引擎的矩阵运营技术实践:突破平台风控的工程化解决方案
一、矩阵运营的技术痛点与市场现状 风控机制升级 主流平台通过复合指纹识别(Canvas渲染哈希WebGL元数据AudioContext频率分析)检测多账号关联传统方案成本:单个亚马逊店铺因关联封号月均损失$5000,矩阵规模越大风险指数级增长 …...
SpringBoot 统一功能处理
1.拦截器 1.1什么是拦截器 拦截器是Spring框架提供的核心功能之一,主要是用来拦截用户的请求,在用户请求指定的方法执行前后,可以根据业务需要执行实现预定的代码。 通过拦截器,开发人员就可以根据需求针对一些特殊的请求&#…...
Redis到底能不能做主数据库?
张三拍案而起:“Redis 是缓存数据库,怎么能当主数据库用?简直是天方夜谭!” 李四冷笑回应:“你没用过,凭什么说不行?我已经用 Redis 做主数据库好几年了,系统稳定得像铁板一块&…...
C++ 基础进阶
C 基础进阶 内容概述: 函数重载:int add(int x, inty);,long long add(long long x, long long y);,double add(double x, double y);模板函数:template<typename T> 或 template<class T>结构体&#x…...
从C语言到Go语言:新手快速入门指南
对于刚学会C语言的新手来说,学习Go语言(Golang)可能是一个既有趣又有挑战性的过程。Go语言由Google开发,以简洁、高效和并发支持著称,被广泛用于现代软件开发。相比C语言,Go语言在语法上更加现代化…...
Vue.js 中 v-model 的使用及其原理
在 Vue.js 开发中,v-model是一个非常重要且常用的指令。它极大地简化了表单元素与数据之间的双向绑定操作,让开发者能够更高效地处理用户输入和数据更新。接下来,我们将深入探讨v-model的使用场景及其背后的工作原理。 一、v-model 的基本…...
深入解析哈希表:从原理到实现(拉链法详解)
哈希表(Hash Table)是计算机科学中最重要的数据结构之一,它能够在平均 O(1) 时间内完成数据的插入、删除和查找操作。本文将围绕**拉链法(Chaining)**的实现,结合代码示例和图示,深入讲解哈希表…...
okcc呼叫中心系统坐席签入长签和普通签入的区别
在OKCC呼叫中心系统中,坐席的长签(持久签入)与普通签入(常规签入)是两种不同的登录模式,主要区别体现在 会话保持时长、资源占用、业务场景适配性 等方面。以下是具体对比: 一、核心区别对比 维…...
2024年博客之星的省域空间分布展示-以全网Top300为例
目录 前言 一、2024博客之星 1、所有排名数据 2、空间属性管理 二、数据抓取与处理 1、相关业务表的设计 2、数据抓取处理 3、空间查询分析实践 三、数据成果挖掘 1、省域分布解读 2、技术开发活跃 四、总结 前言 2024年博客之星的评选活动已经过去了一个月…...
7.3 在通知中显示图片或视频(UNNotificationAttachment)
在iOS通知中显示富媒体内容可以显著提升用户体验。通过UNNotificationAttachment,我们可以为本地和远程通知添加图片、音频、视频等内容。 基本实现方法 1. 创建带附件的通知 func scheduleNotificationWithImage() {// 1. 创建通知内容let content UNMutableNo…...
1.5-APP的架构\微信小程序的架构
1.5-APP的架构\微信小程序的架构 APP的三种开发架构: 原生态APP类型 APP-开发架构-原生态-IDEA 演示:remusic项目源码 NP管理器: http://normalplayer.top/ HttpCanary:https://github.com/mingww64/HttpCanary-SSL-Magisk 安全影…...
Python缩进完全指南:语法规则、使用场景与最佳实践
一、Python缩进的核心概念 Python的缩进不仅是代码风格问题,更是语法的一部分,这是Python区别于其他编程语言最显著的特征之一。 1.1 什么是缩进? 缩进是指在代码行前添加空格或制表符来实现代码块的层级结构。在Python中,缩进…...
高通音频数据从HAL到DSP
概述 参考高通平台8155 从数据流的角度整理下安卓平台音频数据从HAL层到达DSP这个流程; 以 MultiMedia22 --> QUIN_TDM_RX_0 播放为例; 主要关注pcm数据写到dsp, 以及将前后端路由信息告知dsp两个点。 <!-- more --> [Platform:高通 8155 gvmq Android 11] [Ker…...
第六天 开始Unity Shader的学习之Unity中的基础光照之漫反射光照模型
Unity Shader的学习笔记 第六天 开始Unity Shader的学习之Unity中的基础光照之漫反射光照模型 文章目录 Unity Shader的学习笔记前言一、漫反射光照模型1.逐像素光照① 更改v2f② 传递法线信息给片元着色器③ 片元着色器计算漫反射光照模型 二.半兰伯特模型总结 前言 提示&am…...
【RabbitMQ】队列模型
1.概述 RabbitMQ作为消息队列,有6种队列模型,分别在不同的场景进行使用,分别是Hello World,Work queues,Publish/Subscribe,Routing,Topics,RPC。 下面就分别对几个模型进行讲述。…...
【Java设计模式】第3章 软件设计七大原则
3-1 本章导航 学习开辟原则(基础原则)依赖倒置原则单一职责原则接口隔离原则迪米特法则(最少知道原则)里氏替换原则合成复用原则(组合复用原则)核心思想: 设计原则需结合实际场景平衡,避免过度设计。设计模式中可能部分遵循原则,需灵活取舍。3-2 开闭原则讲解 定义 软…...
Axure中继器(Repeater): 列表展示
文章目录 引言I 中继器说明中继器的作用中继器的结构中继器例子II 中继器基础应用:列表展示表头制作列表内容表头中的列与中继器的列绑定填充数据内容引言 中继器是Axure RP 7.0推出的新功能,用于快速设计一些复杂的交互界面(制作“高保真”的动态原型)。 I 中继器说明 中…...
mybatis的第五天学习笔记
12. 动态SQL 12.1 动态SQL概述 新增内容: 动态SQL执行流程 MyBatis如何解析动态SQLSQL语句构建过程参数绑定机制 新增示例 // 动态条件查询接口示例 List<User> searchUsers(Param("name") String name,Param("age") Integer age,Para…...
LeetCode 941 有效的山脉数组
算法探索:如何精准判断有效山脉数组 在计算机科学领域,算法和数据结构堪称基石,它们不仅是解决复杂问题的有力工具,更是衡量程序员技术水平的重要指标。数组作为最基础、应用最广泛的数据结构之一,围绕它衍生出了大量…...
java设计模式-单例模式
单例模式 1、饿汉式(静态常量) Slf4j public class SingletonTest01 {public static void main(String[] args) {Singleton singleton Singleton.getInstance();Singleton singleton2 Singleton.getInstance();log.info("比对结果:{}",singletonsingl…...
对抗Prompt工程:构建AI安全护栏的攻防实践
大语言模型的开放性与自然语言交互特性使其面临前所未有的Prompt工程攻击威胁。本文通过分析2021-2023年间157个真实越狱案例,揭示语义混淆、上下文劫持、多模态组合三重攻击路径的技术原理,提出融合动态意图拓扑分析(DITA)、对抗…...
CentOS 环境下 MySQL 数据库全部备份的操作指南
最近阿里云个人服务到期,因为是很久之前买的测试机器,配置较低,上面运行的有技术博客 和以往的测试项目,所以准备放弃掉。 需要备份下上面的表结构和数据、以及代码仓库。 下面是一个完整的 CentOS 环境下 MySQL 数据库全部备份…...
回溯算法补充leetcode
1. 组合 leetcode题目链接:77. 组合 给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1: 输入:n 4, k 2 输出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ] 示…...
利用 AI 实现雷池 WAF 自动化运维
欢迎加入雷池社区:雷池 WAF | 下一代 Web 应用防火墙 | 免费使用 已经升级到 8.4.0 的兄弟们应该会发现雷池又多了一些 AI 能力,8.4.0 更新公告。 感谢 Web2GPT 为雷池提供的 AI 能力支持。 主要变化 右下角多了一个 AI 小助手 按钮右上角多了一个 连…...
【嵌入式面试】
1、如果中断函数中有耗时较长的内容,会导致以下问题,如何解决? 对系统实时性的影响 阻塞低优先级中断:中断函数执行时间过长,会阻塞其他低优先级中断的响应。例如,如果一个高优先级中断处理程序中包含耗时…...
【Hadoop入门】Hadoop生态之HDFS
1 HDFS核心设计原理 HDFS(Hadoop Distributed File System)是专为大规模数据存储设计的分布式文件系统,其核心设计基于以下原则: 数据分块与分布式存储: 分块机制:文件被切分为固定大小的数据块(…...
试剂SYBR 14核酸染料在染色时的操作步骤(说明)
化学试剂的基本内容||试剂参数 ---中文名:SYBR 14核酸染料 ---英文名:SYBR 14 Nucleic Acid Stain ---浓度:通常以5mM的DMSO储存液形式提供。 ---吸收波长:488nm ---发射波长:518nm ---出厂商:西安强…...
Spring Boot 国际化配置项详解
Spring Boot 国际化配置项详解 1. 核心配置项分类 将配置项分为以下类别,便于快速定位: 1.1 消息源配置(MessageSource 相关) 控制属性文件的加载、编码、缓存等行为。 配置项作用默认值示例说明spring.messages.basename指定属…...
Python之禅:深入理解Python设计哲学
Python之禅(The Zen of Python)是Python语言的核心设计哲学,由Python创始人Guido van Rossum和Tim Peters共同制定。理解Python之禅不仅能帮助我们写出更"Pythonic"的代码,还能深入把握Python语言的设计理念。 Python之禅的由来 Python之禅最…...
Rancher 全面介绍
目录 Rancher 全面介绍1. **Rancher 的定义与核心功能**2. **Rancher 的应用场景**3. **Rancher 的生态系统**4. **Rancher 的优势**5. **总结** Rancher 全面介绍 1. Rancher 的定义与核心功能 Rancher 是一个开源的企业级多集群 Kubernetes 管理平台,旨在简化容…...
Docker常用命令
镜像命令 搜索镜像 docker search nginx 拉取镜像 docker pull nginx,默认拉取最新镜像 docker pull nginx:1.25.3,拉取指定版本 查看镜像 docker images 删除镜像 docker rmi nginx:1.25.3 docker rmi -f $(docker images -aq),删除全…...
项目中如何防止超卖
什么是超卖?假如只剩下一个库存,却被多个订单买到了,简单理解就是库存不够了还能正常下单。 方案1:数据库行级锁 1. 实体类 Data TableName("product") public class Product {TableId(type IdType.AUTO)private Lon…...
龙虎榜——20250408
行情如下 根据2025年4月8日的龙虎榜的行业分析如下: 一、农业种植与乡村振兴 • 政策催化:推进种业自主创新、农机装备升级等目标,叠加中美关税反制逻辑。 • 市场表现: • 农业种植:种子类企业因国产替代预期受资…...
快速上手Vue3国际化 (i18n)
文章目录 一、背景介绍二、页面效果三、使用步骤四、代码1.src/App.vue2.src/main.js3.src/locales/index.js4.src/views/login/_request.js5.src/locales/en.json6.src/locales/zh.json7.SystemParam.vue8.I18NController.java9.DataServiceConfigValue.java10.ConfigValue.ja…...
Mistral OCR:重新定义文档理解的下一代 OCR 技术
引言 在数字化时代,文档处理和理解是企业、科研机构以及个人工作流程中的重要环节。然而,传统的光学字符识别(OCR)技术往往难以应对复杂文档中的多语言、多模态内容。近日,法国 AI 明星创企 Mistral AI 推出了一款名为 Mistral OCR 的光学字符识别 API,以其卓越的性能和…...
前端面试核心知识点整理:从 JavaScript 到 Vue 全解析
一、JavaScript 异步编程核心:Promise 与 async/await 1. Promise 深度解析 定义:Promise 是处理异步操作的对象,代表一个异步操作的最终状态(成功 / 失败)。三种状态: pending(进行中):初始状态,异步操作未完成。fulfilled(已成功):异步操作成功,调用 resolve …...
npm fund 命令的作用
运行别人的项目遇到这个问题: npm fund 命令的作用 npm fund 是 npm 提供的命令,用于显示项目依赖中哪些包需要资金支持。这些信息来自包的 package.json 中定义的 funding 字段,目的是帮助开发者了解如何支持开源维护者。 典型场景示例 假…...
LeetCode344反转字符串
思路: 交换即可 void reverseString(char* s, int sSize) {int jsSize-1;for(int i0;i<sSize/2;i){int tmps[i];s[i]s[j];s[j]tmp;j--;} }...
[Python] 企业内部应用接入钉钉登录,端内免登录+浏览器授权登录
[Python] 为企业网站应用接入钉钉鉴权,实现钉钉客户端内自动免登授权,浏览器中手动钉钉授权登录两种逻辑。 操作步骤 企业内部获得 开发者权限,没有的话先申请。 访问 钉钉开放平台-应用开发 创建一个 企业内部应用-钉钉应用。 打开应用…...