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

逻辑分析仪的使用-以STM32C8T6控制SG90舵机为例

STM32C8T6控制SG90舵机

1.逻辑分析仪作用

        逻辑分析仪在嵌入式开发中的作用非常重要,它是开发、调试和排错过程中的一个不可或缺的工具。具体来说,逻辑分析仪的作用包括以下几个方面:
1.信号捕获和分析: 逻辑分析仪能够实时捕获多个数字信号,并对其进行详细分析。对于嵌入式系统,尤其是硬件和软件交互复杂时,能够监控微处理器的I/O引脚、外设的工作状态及总线通信(如SPI、I2C、UART等),从而帮助开发人员快速诊断系统的问题。
2.时序分析: 在嵌入式开发中,时序问题是非常常见的,尤其是涉及到多任务并发执行或者高频信号的处理时。逻辑分析仪可以精确地捕捉信号的时序关系,帮助开发者验证硬件和软件是否按预期工作,特别是时钟信号、数据传输的时序等。
3.协议分析: 对于串行通信协议(如I2C、SPI、CAN等),逻辑分析仪可以解析和显示协议中的数据内容,帮助开发人员检查协议是否正确实现,数据是否传输正确。这对于嵌入式系统开发中的调试非常有帮助,避免了人工手动分析数据包的繁琐。
4.故障排查: 在嵌入式系统开发过程中,硬件或软件的故障往往难以直接判断。使用逻辑分析仪可以捕捉到异常信号或状态,帮助开发人员定位问题的根源。例如,电路中的短路、干扰、数据丢失等问题,逻辑分析仪都能提供重要线索。
5.性能优化: 对嵌入式系统进行性能优化时,逻辑分析仪可以帮助开发人员检查信号传输的速度和延迟,发现瓶颈并优化电路设计或代码逻辑。特别是在处理实时数据时,时延问题可以通过逻辑分析仪进行详细监控和优化。
6.硬件和软件调试结合: 逻辑分析仪可以与软件调试器配合使用,进行硬件和软件的联合调试。比如,在嵌入式系统中,软件在控制硬件时可能会遇到一些不可预见的情况,逻辑分析仪能够在硬件层面捕获到数据,提供给软件开发人员更详细的信息。

2.逻辑分析仪选型

        选型逻辑分析仪时,需要根据具体的嵌入式开发需求、项目的复杂程度以及预算等因素来综合考虑。以下是选型时需要关注的几个关键指标:
1.通道数
        通道数决定了逻辑分析仪能够同时监控多少个信号。对于大多数嵌入式系统,至少需要8个通道,复杂的系统可能需要更多通道(如16、32甚至64通道)。选择时应考虑系统中的信号数量,尤其是高并发和多总线的情况。
2. 采样率(Sample Rate)
        采样率就是一秒钟能采样多少个点,决定了分析仪捕捉信号变化的精度,。高采样率可以更精确地捕捉高频信号。低速应用:一般来说,1-2 GS/s(十亿次/秒)就足够;高速应用:对于需要更高精度的应用,特别是调试高速信号时,可能需要更高的采样率(如10 GS/s以上)。
3. 采样深度(Memory Depth)
        采样深度就是一次采样最多能存储多少个点,决定了逻辑分析仪能捕捉到的数据量,也即它能够存储多长时间的信号数据。较大的采样深度有助于分析长时间的信号波形,而不容易丢失信息。如果涉及到长时间的数据采集和复杂信号分析,选择采样深度大的模型是很有必要的。
4. 信号电压范围
        逻辑分析仪需要与待测设备的信号电压范围匹配。常见的信号电压标准包括 3.3V、5V、TTL、CMOS等。如果你的嵌入式系统使用的是特定的电压级别,需要确保选择的逻辑分析仪支持这些电压范围。还需注意是否需要支持差分信号(如LVDS、RS-485等),这些信号可能需要额外的探头或特定的硬件支持。

3.以Kingst LA1010型号逻辑分析仪为例分析

3.1 逻辑分析仪的连接

购买了逻辑分析仪后,商家会给你发一份资料,主要包括逻辑分析仪驱动程序和使用指南,成功安装好逻辑分析仪的驱动后,将逻辑分析仪的USB端接入电脑,在此电脑->设备->设备管理器->通用串行总线控制器里可以看到逻辑分析仪的驱动,如下图所示。

然后打开逻辑分析仪客户端,会自动识别逻辑分析仪,并且此时左下角显示设备未连接

 设备连接成功后,客户端的左上角和左下角会同时显示设备已连接,并且显示设备型号。

3.2 单片机控制SG90舵机的原理

        我们本次是以STM32C8T6控制SG90舵机为例分析逻辑分析仪的使用,SG90舵机的控制逻辑就是单片机发出PWM波,控制舵机的转动。通俗的说就是一个PWM波的周期是20ms,舵机在0度的时候对应的是高电平0.5ms,低电平19.5ms;45度的时候对应的是高电平1.0ms,低电平19ms;90度的时候对应的是高电平1.5ms,低电平18.5ms;135度的时候对应的是高电平2.0ms,低电平18ms;180度的时候对应的是高电平2.5ms,低电平17.5ms。

3.3 硬件电路接线

与单片机的接线

STM32C8T6单片机 PA1黄线PWM
STM32C8T6单片机 5V红线5V
STM32C8T6单片机 GND棕线GND
STM32C8T6单片机  5V0.96寸OLED屏幕VCC
STM32C8T6单片机  GND0.96寸OLED屏幕GND
STM32C8T6单片机  PB60.96寸OLED屏幕SCL
STM32C8T6单片机  PB70.96寸OLED屏幕SDA

3.3 源代码讲解

代码详解请看B站上传的源码讲解视频:

3.4 逻辑分析仪看分析PWM波形

因为我们这次只是抓单片机PA1产生的PWM波形去驱动SG90舵机,所以将PA1引脚焊接处一根信号线接到逻辑分析仪的任意一个通道上,我选择接到通道0上,任何被测信号都要接GND,所以从单片机上的GND引脚焊接处一根线接到逻辑分析仪的GND通道。

接好后打开客户端,重点看通道0,根据奈奎斯特采样定理,采样需要必须要是被测信号的2倍以上才可以正确采样到信号,但是工程中一般采用5倍或者10倍,我们的舵机PWM波信号周期是20ms,那么频率是周期的倒数,就是1/20ms=50Hz,所以10倍以上就是500Hz,我们的逻辑分析仪最低采样频率是200KHz,所以我们选择20KHz就可以满足要求,那么采样时间是采样深度/采样频率,所以采样深度选择20KSa,采样时间就是20K/20K=1S,1秒钟足够了,因为我们的周期是20ms,一秒钟就有50个20ms。然后就是选择触发方式,我们选择下降沿触发,因为在定时器初始化里是默认高电平,那么PWM开始由高电平到低电平才是下降沿开始。

 然后点击上面的绿色三角号开始采样,采样完毕后屏幕上就会出现波形,看通道0的波形,我们通过右边的时间标尺A1和A2量出一个周期确实是20ms

 此时我们的舵机角度是0度。

        根据舵机的控制原理,0度的时候高电平在一个周期内是0.5ms,也就是500us,我们再次通过时间标尺也测量出一个周期内的高电平占的时间就是500us。

我们通过按键改变舵机控制角度为90度,此时屏幕上显示90度,舵机也实际转动到了90度。

         根据舵机的控制原理,90度的时候高电平在一个周期内是1.5ms,也就是1500us,我们再次通过时间标尺也测量出一个周期内的高电平占的时间就是1.5ms。

除此之外,我们还可以通过逻辑分析仪支持的常见通信协议直接配置,并且能导出测量的波形数据,常见的通信协议支持如下图

 选择客户端右边的解析器+号,然后选择PWM协议,选择通道0,选择高电平计数。

 然后通过解析器旁边的小齿轮设置,把数据导出CSV格式,用excel打开

打开后可以看到在1S时间内采集了49个数据,舵机的PWM周期是20ms,所以1秒内就能采集到50个数据,实际是采集到了49个数据,误差可以接受 。

4.源代码获取方式

 源代码链接如下:

相关文章:

逻辑分析仪的使用-以STM32C8T6控制SG90舵机为例

STM32C8T6控制SG90舵机 1.逻辑分析仪作用 逻辑分析仪在嵌入式开发中的作用非常重要,它是开发、调试和排错过程中的一个不可或缺的工具。具体来说,逻辑分析仪的作用包括以下几个方面: 1.信号捕获和分析: 逻辑分析仪能够实时捕获多个…...

QCustomplot库运用

最近需要用到这个库显示数据,需要在一个曲线图4个Y轴共用一个X轴,并且做游标,跟随鼠标移动,并且实时反馈数据到表格中。记录一下程序。 customPlot new QCustomPlot(this); customPlot->setBackground(QBrush(QColor(204,204,…...

数据中心网络监控

数据中心是全球协作的特定设备网络,用来在internet网络基础设施上传递、加速、展示、计算、存储数据信息。 对于任何利用IT基础设施的企业来说,数据中心都是运营的核心,它本质上为整个业务网络托管业务应用程序和存储空间。数据中心可以是任…...

定义+类比

定义:间接量表是备选问题或者是备选语句或者是语句中选择合适的语句表达其态度,最后选择是一个合适的语句 A给具体的表打分,是直接上数字,而不是选择合适的语句表达其态度 B给排序,也是通过数字来表达其态度,也不是选择…...

深度学习框架探秘|PyTorch:AI 开发的灵动画笔

前一篇文章我们学习了深度学习框架——TensorFlow(深度学习框架探秘|TensorFlow:AI 世界的万能钥匙)。在人工智能领域,还有一个深度学习框架——PyTorch,以其独特的魅力吸引着众多开发者和研究者。它就像一…...

NAT模式 vs DR模式:LVS 负载均衡技术的优劣与适用场景

1. NAT 模式(Network Address Translation) 工作原理 请求路径:客户端请求发送到虚拟 IP(VIP),负载均衡器(Director)通过 DNAT(目标地址转换)将请求转发到真…...

八大排序——归并排序

目录 1.基本思想 2.动态图 3.分解的时候我们可以使用递归的方式进行 代码解释 1. main 方法 2. mergeSort 方法 3. merge 方法 示例运行过程 初始数组 每轮排序后的数组 代码总结 合并两个有序序列 1.基本思想 归并排序就是递归得将原始数组递归对半分隔&#xff0c…...

YOLO算法模型检测利用手机IP摄像头

1.yolo算法训练模型 yolov5训练网络数据集_yolo数据集 csdn-CSDN博客 2.模型检测 检测文件参数:yolov5的detect.py中基础参数分析-CSDN博客 3.进行IP摄像头检测 3.1下载IP摄像头 3.2打开与使用IP摄像头(确保手机与电脑在同一WiFi(局域网…...

前端职业规划

前端开发的职业规划可以根据个人兴趣、技术深度和职业目标来制定。以下是一个典型的前端开发者职业发展路径,涵盖了从初级到高级的不同阶段,以及未来的发展方向: 1. 初级阶段(0-2 年) 目标:掌握基础技能&a…...

百度舆情优化:百度下拉框中的负面如何清除?

百度的下拉词、相关搜索、大家还在搜有负面词条,一直是企业公关经理头疼的问题,小马识途营销顾问深耕网络营销领域十几年,对百度SEO优化、百度下拉框、百度相关搜索、自媒体营销、短视频营销等等技巧方面积累了一定的方法和技巧。 对于百度下…...

Java中如何高效地合并多个对象的List数据:方法与案例解析!

哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云/阿里云/华为云/51CTO;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互…...

【Vue】打包vue3+vite项目发布到github page的完整过程

文章目录 第一步:打包第二步:github仓库设置第三步:安装插件gh-pages第四步:两个配置第五步:上传github其他问题1. 路由2.待补充 参考文章: 环境: vue3vite windows11(使用终端即可&…...

编译和链接【四】链接详解

文章目录 编译和链接【四】链接详解前言系列文章入口符号表和重定位表链接过程分段组装符号决议重定位 编译和链接【四】链接详解 前言 在我大一的时候, 我使用VC6.0对C语言程序进行编译链接和运行 , 然后我接触了VS, Qt creator等众多IDE&…...

C语言进阶——4自定义类型(2)— 位段/枚举/联合体

目录 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台问题2.4 位段的应用 3. 枚举3.1 枚举类型的定义3.2 枚举的优点3.3 枚举的使用 4. 联合(共用体)4.1 联合类型的定义4.2 联合的特点4.3 联合大小的计算 2. 位段 2.1 什么是位段 位段的声明…...

企业级高可用 Kubernetes 实践:基于青云 LB 搭建容灾与负载均衡集群全攻略

一、前言 在企业生产环境,k8s高可用是一个必不可少的特性,其中最通用的场景就是如何在 k8s 集群宕机一个节点的情况下保障服务依旧可用。部署高可用k8s集群对于企业级云平台来说是一个根本性的原则,容错、服务可用和数据安全是高可用基础设施的关键。本文是在青云上利用青云…...

250213-异常exception

1. 概念 异常的抛出(throw):若在方法运行中出现错误,则方法会生成代表该异常的一个对象,并把它交给运行时系统,这个过程叫做抛出。 异常的捕获(catch):运行时系统接收到…...

MySQL - 索引 - 介绍

索引(Index)是帮助数据库高效获取数据的数据结构. 结构 语法 创建索引 creat [unique] index 索引名 on 表名 (字段名, ...); //创建唯一索引时加上unique, 多个字段用逗号隔开 查看索引 show index from 表名; 删除索引 drop index 索引名 on 表名;...

每日一题——90. 子集 II

题目链接&#xff1a;90. 子集 II - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; class Solution { private:vector<vector<int>> result;vector<int> path;void traversal(vector<int>& nums,int startindex,vector<bool> …...

Mysql进阶篇(mysqlcheck - 表维护程序)

mysqlcheck的作用 mysqlcheck客户端用于执行表维护&#xff0c;可以对表进行&#xff1a;分析、检查、优化或修复操作。 &#xff08;1&#xff09;分析的作用是查看表的关键字分布&#xff0c;能够让 sql 生成正确的执行计划&#xff08;支持 InnoDB&#xff0c;MyISAM&#x…...

ChartDB:一个基于Web的可视化数据库设计工具

这次给大家介绍一个可视化的数据库设计工具&#xff1a;ChartDB。 ChartDB 是一个免费开源的数据库可视化设计工具&#xff0c;支持的数据库包括 MySQL、MariaDB、PostgreSQL、Microsoft SQL Server、SQLite、ClickHouse 等。 对于已有的数据库&#xff0c;ChartDB 提供了一键…...

Java NIO基础与实战:如何提升IO操作性能

Java NIO 概述 Java NIO&#xff08;新 I/O&#xff09;是 Java 提供的一个更为高效的 I/O 处理框架。Java NIO&#xff08;New I/O&#xff09;是对传统 I/O&#xff08;java.io&#xff09;模型的改进&#xff0c;它引入了非阻塞 I/O 操作和面向缓冲区的数据读写方式&#x…...

Elasticsearch:同义词在 RAG 中重要吗?

作者&#xff1a;来自 Elastic Jeffrey Rengifo 及 Toms Mura 探索 RAG 应用程序中 Elasticsearch 同义词的功能。 同义词允许我们使用具有相同含义的不同词语在文档中搜索&#xff0c;以确保用户无论使用什么确切的词语都能找到他们所寻找的内容。你可能会认为&#xff0c;由于…...

Python - Python正则表达式

正则表达式&#xff08;Regular Expression&#xff09;&#xff0c;又称规则表达式。正则表达式&#xff08;Regular Expression&#xff09;是一组由字母和符号组成的特殊文本&#xff0c;用于从文本中找出满足特定格式的句子。正则表达式通常被用来检索、替换那些符合某个模…...

DeepSeek 指导手册(入门到精通)

第⼀章&#xff1a;准备篇&#xff08;三分钟上手&#xff09;1.1 三分钟创建你的 AI 伙伴1.2 认识你的 AI 控制台 第二章&#xff1a;基础对话篇&#xff08;像交朋友⼀样学交流&#xff09;2.1 有效提问的五个黄金法则2.2 新手必学魔法指令 第三章&#xff1a;效率飞跃篇&…...

Android adb测试常用命令大全

目录 一、查看最上层成activity名字: 二、查看Activity的任务栈&#xff1a; 三、获取安装包信息 四、性能相关 1、显示CPU信息 : 2、查看CPU使用信息 3、内存信息&#xff08;meminfo package_name or pid 使用程序的包名或者进程id显示内存信息&#xff09; 4、电量信…...

【python语言应用】最新全流程Python编程、机器学习与深度学习实践技术应用(帮助你快速了解和入门 Python)

近年来&#xff0c;人工智能领域的飞速发展极大地改变了各个行业的面貌。当前最新的技术动态&#xff0c;如大型语言模型和深度学习技术的发展&#xff0c;展示了深度学习和机器学习技术的强大潜力&#xff0c;成为推动创新和提升竞争力的关键。特别是PyTorch&#xff0c;凭借其…...

在不知道进程的情况下怎么关闭

在不知道具体进程ID&#xff08;PID&#xff09;或者进程可能会变动的情况下&#xff0c;关闭MinIO服务器的方法通常依赖于你如何启动MinIO以及你的操作系统环境。以下是一些建议的步骤&#xff1a; 1. 使用系统服务管理工具 如果你将MinIO配置为系统服务&#xff08;例如在L…...

算力平台 驱动云的使用

驱动云的使用 1 进入官网注册2 上传数据3 上传模型4 创建项目5 开发环境6 停止使用 1 进入官网注册 点击这个进入 可以看到注册之后送十个算力点 如果不训练&#xff0c;仅仅上传数据和模型&#xff0c;那么也是要收费的&#xff0c;因为存储数据要占用驱动云的空间。 2 上…...

高校LabVIEW开发调试中的常见问题

在高校进行LabVIEW开发调试时&#xff0c;常常面临硬件选型不当、方案设计不合理、布线不专业以及人员流动性强等问题。这些问题可能影响项目的进展和质量。本文将总结这些问题&#xff0c;并给出具体的解决方案&#xff0c;帮助学生和团队更高效地开展开发工作。 ​ 1. 硬件选…...

数据结构——结构体位域、typedef类型重定义、宏、共用体union、枚举、虚拟内存划分

一、结构体位域 1.1 结构体位域的基础 结构体位域&#xff1a;把结构体字节大小扣到极致的一个类型&#xff0c;以bit单位 格式&#xff1a;struct 位域体名{数据类型 位域名:位域大小;数据类型 位域名:位域大小;...};解析&#xff1a;位域体名&#xff1a;可有可无&#xff…...

git bash删除库中的分支与文件

一、 在 GitHub 上删除非 main 分支的步骤可以分为两部分&#xff1a;首先在本地删除该分支&#xff0c;然后在 GitHub 上删除远程分支。以下是详细的步骤&#xff1a; 1. 删除远程分支&#xff08;在 GitHub 上删除&#xff09; 打开 GitHub 仓库页面&#xff0c;进入你的仓…...

连锁收银系统的核心架构与技术选型

在连锁门店的日常运营里&#xff0c;连锁收银系统扮演着极为重要的角色&#xff0c;它不仅承担着交易结算的基础任务&#xff0c;还关联着库存管理、会员服务、数据分析等多个关键环节。一套设计精良的核心架构与合理的技术选型&#xff0c;是保障收银系统高效、稳定运行的基础…...

称呼计算器:智能科技,简化您的计算生活

一款手机应用程序&#xff0c;安卓设备上使用。这款计算器应用以其简洁的界面、实用的功能和良好的用户体验而受到用户的喜爱。 计算器的主要特点包括&#xff1a; 基本计算功能&#xff1a;支持加、减、乘、除等基本运算。 科学计算器模式&#xff1a;提供更高级的数学运算功…...

qt的QMainWindow保存窗口和恢复窗口状态

保存窗口状态 QSettings settings("MyCompany", "MyApp"); // 指定存储的应用信息 settings.setValue("mainWindowState", saveState());saveState() 返回一个 QByteArray&#xff0c;包含 所有停靠窗口和工具栏的状态。QSettings 用于存储数据…...

【mysql】记一次mysql服务挂了后的数据恢复过程

现象 服务器异常&#xff0c;导致mysql服务异常退出&#xff0c;重启后&#xff0c;校验redo log异常 说明 mysql服务是通过docker-compose启动的,serviceName是db磁盘挂载&#xff1a;/var/lib/mysql挂载到本地磁盘/data/mysql 处理过程 备份 查看磁盘挂载列表 docker …...

使用 LangChain 对接硅基流动(SiliconFlow)API:构建一个智能对话系统

文章目录 什么是硅基流动&#xff08;SiliconFlow&#xff09;&#xff1f;LangChain 简介在 LangChain 中对接硅基流动步骤 1&#xff1a;安装必要的库步骤 2&#xff1a;设置 API 密钥步骤 3&#xff1a;编写代码代码解析步骤 4&#xff1a;运行代码如何扩展和改进总结 在现代…...

K8s 证书认知(K8s Certificate Awareness)

K8s 证书认知 在谈起 Kubernetes 证书时&#xff0c;总感觉其涵盖的内容繁多&#xff0c;仿佛千头万绪&#xff0c;让人不知该从何处着手阐述。为了更好地理清思路&#xff0c;本文将对相关内容进行系统的梳理和记录。 1、证书及链路关系 Kubeadm部署的集群&#xff0c;K8s …...

iperf

iperf 是一个网络性能测试工具&#xff0c;用于测量TCP和UDP的网络带宽。-c 参数表示客户端模式&#xff0c;用于指定要连接的服务器地址。以下是一些常见的 iperf 客户端命令示例&#xff1a; 基本用法 iperf -c <server_ip> <server_ip>&#xff1a;服务器的IP…...

【FastAPI 使用FastAPI和uvicorn来同时运行HTTP和HTTPS的Python应用程序】

在本文中&#xff0c;我们将介绍如何使用 FastAPI和uvicorn来同时运行HTTP和HTTPS的 Python应用程序。 简介 FastAPI是一个高性能的Web框架&#xff0c;可以用于构建快速、可靠的API。它基于Python的类型提示和异步支持&#xff0c;使得开发者可以轻松地编写出安全且高效的代…...

Windows系统安装搭建悟空crm客户管理系统 教程

1、在安装悟空 CRM 之前&#xff0c;需要确保你的 Windows 系统上已经安装了以下软件&#xff1a; Web 服务器&#xff1a;推荐使用 Apache 或 Nginx&#xff0c;这里以 Nginx 为例。你可以使用集成环境套件如 XAMPP 来简化安装过程&#xff0c;它包含了 Nginx 、MySQL、PHP 等…...

使用API有效率地管理Dynadot域名,清除某一文件夹中域名的默认DNS设置

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…...

评估多智能体协作网络(MACNET)的性能:COT和AUTOGPT基线方法

评估多智能体协作网络(MACNET)的性能 方法选择:选择COT(思维链,Chain of Thought)、AUTOGPT等作为基线方法。 COT是一种通过在推理过程中生成中间推理步骤,来增强语言模型推理能力的方法,能让模型更好地处理复杂问题,比如在数学问题求解中,展示解题步骤。 AUTOGPT则是…...

(4/100)每日小游戏平台系列

新增一个点击反应速度测试&#xff01; 点击反应速度测试是一款简单有趣的网页小游戏&#xff0c;旨在测试玩家的反应能力和专注度。通过随机高亮的颜色块&#xff0c;玩家需要快速点击正确的颜色&#xff0c;并在限定时间内挑战自己的反应速度。 &#x1f4dc; 游戏规则 游戏开…...

Day42(补)【AI思考】-编译过程中语法分析及递归子程序分析法的系统性解析

文章目录 编译过程中语法分析及递归子程序分析法的系统性解析**一、总览&#xff1a;编译流程中的语法分析****1. 编译过程核心步骤** **二、语法分析的核心任务****1. 核心目标****2. 现实类比** **三、递归子程序分析法的本质****1. 方法分类****2. 递归子程序分析法的运作原…...

AcWing 190. 字串变换 --BFS-双向搜索

已知有两个字串 A, B 及一组字串变换的规则&#xff08;至多 66 个规则&#xff09;: A1→B1 A2→B2 … 规则的含义为&#xff1a;在 A 中的子串 A1A1 可以变换为 B1、A2 可以变换为 B2…。 例如&#xff1a;A&#xff1d;abcd B&#xff1d;xyz 变换规则为&#xff1a; …...

visual studio导入cmake项目后打开无法删除和回车

通过Cmakelists.txt导入的项目做删除和回车无法响应&#xff0c;需要点击项目&#xff0c;然后选择配置项目就可以了...

【论文笔记】ZeroGS:扩展Spann3R+GS+pose估计

spann3r是利用dust3r做了增量式的点云重建&#xff0c;这里zeroGS在前者的基础上&#xff0c;进行了增量式的GS重建以及进行了pose的联合优化&#xff0c;这是一篇dust3r与GS结合的具有启发意义的工作。 abstract NeRF和3DGS是重建和渲染逼真图像的流行技术。然而&#xff0c;…...

Vue2中常用指令

文章目录 Vue2中常用指令1. v-text 动态渲染纯文本内容1. 作用2. 基本用法3. 示例4. 注意事项 2. v-html 动态渲染 HTML 内容1. 作用2. 基本用法3. 示例4. 注意事项 3. v-bind 动态绑定 HTML 属性1. 作用2. 基本用法3. 示例4. 注意事项5. 绑定class属性的用法6. 绑定style属性的…...

09-轮转数组

给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 方法一&#xff1a;使用额外数组 function rotate(nums: number[], k: number): void {const n nums.length;k k % n; // 处理 k 大于数组长度的情况const newNums new A…...

本地Deepseek-r1:7b模型集成到Google网页中对话

本地Deepseek-r1:7b网页对话 基于上一篇本地部署的Deepseek-r1:7b&#xff0c;使用黑窗口对话不方便&#xff0c;现在将本地模型通过插件集成到Google浏览器中 安装Google插件 在Chrome应用商店中搜索page assis 直接添加至Chrome 修改一下语言 RAG设置本地运行的模型&#…...