openmv的端口被拆分为两个 导致电脑无法访问openmv文件系统解决办法 openmv USB功能改动 openmv驱动被更改如何修复
我之前误打误撞遇到一次,直接把openmv的全部端口删除卸载然后重新插上就会自动重新装上一个openmv端口修复成功,大家可以先试试不行再用下面的方法
全部卸载再重新插拔openmv

要解决OpenMV IDE中出现的两个端口问题,可以尝试以下步骤:
首先,先确保你的openmv ide可以连接上openmv 不管能不能访问文件系统
如果连接不了 ,那就下载zadig 给这两个段口加装串口驱动
安装 Zadig(仅适用于 Windows)
如果你在 Windows 上运行,需要使用 Zadig 将 OpenMV 的驱动程序替换为 WinUSB:
-
下载 Zadig。
-
打开 Zadig,点开option
选择list all device 选择 OpenMV 设备。 -

-
将两个openmv端口都分别改成驱动程序替换为
USB Serail点击“Install Driver”。 -
这样的原理就是不管openmv的端口是啥功能都为串口驱动 总可以是真正的串口端口 链接openmv ide
1. 确认端口用途
-
COMx (OpenMV Cam): 用于图像传输和实时控制。
-
COMx (OpenMV Cam Mass Storage): 用于文件系统访问。
-
但他两其实是一个东西一条线路,只是一心二用,把USB虚拟成串口,访问文件系统时,电脑发送访问信息到openmv,此时USB才是USB功能,否则此时USB伪装成串口使用
2. 重新连接设备
3. 检查设备管理器
下面这个就是openmv的串口功能端口(要怎么分辨呢,你一个一个删,比如删了interface 1他连不了openmv了,那interface 1就是串口功能端口 另一个就是文件访问端口
还有个办法就是两个都是一次下面的步骤,1不行就试试2
![]()
记住这个端口号,他是转用于串口收发信息的,也就是openmv USB模仿串口
然后把另一个卸载了
切要点击尝试卸载此设备

分叉步骤一: 分叉步骤二:
4. 使用OpenMV IDE 4.把这个interface也删了,这个方法误打误撞
5. 更新固件 可以试试
6. 重启设备
7. 检查USB线
我之前误打误撞遇到一次,直接把openmv的全部端口删除卸载然后重新插上就会自动重新装上一个openmv端口修复成功
-
下面讲讲原理:
-
有可能是你用zadig或者直接用openmv代码把端口已拆为二,这样电脑根本不知道这两者哪个是usb哪个是串口,原先发送的对象都是同一个,你分成二者,那这个型号就闯不到usb那了
-
1. 确认端口用途
-
COMx (OpenMV Cam): 用于图像传输和实时控制。
-
COMx (OpenMV Cam Mass Storage): 用于文件系统访问。
-
但他两其实是一个东西一条线路,只是一心二用,把USB虚拟成串口,访问文件系统时,电脑发送访问信息到openmv,此时USB才是USB功能,否则此时USB伪装成串口使用
-
下面是ai的确认:
-
你提到的现象是正确的。OpenMV Cam的USB接口通过虚拟化技术实现了两种功能:串口通信和Mass Storage(大容量存储)。这两种功能是通过USB协议虚拟出来的,因此会出现两个端口。以下是更详细的解释和解决方法:
问题原因
-
OpenMV Cam的USB接口通过虚拟化技术实现了两种功能:
-
串口通信(COMx - OpenMV Cam):用于与OpenMV IDE通信,传输图像、调试信息等。
-
Mass Storage(COMx - OpenMV Cam Mass Storage):用于访问OpenMV Cam的内部文件系统(如保存脚本、读取文件等)。
-
-
这两种功能是互斥的,即同一时间只能使用一种功能:
-
当OpenMV Cam连接到电脑时,默认进入串口模式(用于图像传输和实时控制)。
-
当需要访问文件系统时,OpenMV Cam会切换到Mass Storage模式,此时串口通信会断开。
-
-
进入Mass Storage模式:
-
在OpenMV IDE中,点击菜单栏的 “工具” -> “将OpenMV Cam作为磁盘打开”。
-
此时,OpenMV Cam会切换到Mass Storage模式,串口通信会断开。
-
你可以在文件管理器中访问OpenMV Cam的文件系统(如保存脚本、读取文件等)。
-
-
返回串口模式:
-
在文件管理器中弹出OpenMV Cam的磁盘。
-
OpenMV Cam会自动切换回串口模式,OpenMV IDE会重新连接。
-
-
如果你需要频繁访问文件系统,可以将文件存储在SD卡中。
-
插入SD卡后,OpenMV Cam会将SD卡作为默认存储设备,文件系统访问不会影响串口通信。
-
确保你使用的是最新版本的OpenMV IDE和OpenMV Cam固件。
-
确保使用高质量的USB线,并尝试更换USB端口。
-
如果USB连接不稳定,可能会导致模式切换失败或端口冲突。
-
如果你不需要访问文件系统,可以通过修改OpenMV Cam的固件代码,禁用Mass Storage模式。
-
这样,OpenMV Cam将始终处于串口模式,但会失去文件系统访问功能。
-
更新方法:
-
打开OpenMV IDE。
-
点击 “工具” -> “更新固件”,按照提示完成更新。
-
-
断开OpenMV Cam与电脑的连接。
-
重新连接,确保USB线连接稳固。
-
打开设备管理器(Windows)。
-
查看“端口 (COM & LPT)”和“通用串行总线控制器”中是否有OpenMV Cam的相关条目。
-
如果有黄色感叹号,尝试更新驱动程序。
-
打开OpenMV IDE。
-
在右下角选择正确的COM端口(通常是“COMx (OpenMV Cam)”)。
-
如果仍无法访问文件系统,尝试以下步骤。
-
下载最新固件。
-
在OpenMV IDE中,点击“工具” -> “更新固件”。
-
按照提示完成更新。
-
断开OpenMV Cam。
-
重新连接并启动OpenMV IDE。
-
确保使用高质量的USB线,劣质线可能导致连接问题。
-
如果问题仍未解决,联系OpenMV官方支持或在社区论坛寻求帮助。
-
相关文章:
openmv的端口被拆分为两个 导致电脑无法访问openmv文件系统解决办法 openmv USB功能改动 openmv驱动被更改如何修复
我之前误打误撞遇到一次,直接把openmv的全部端口删除卸载然后重新插上就会自动重新装上一个openmv端口修复成功,大家可以先试试不行再用下面的方法 全部卸载再重新插拔openmv 要解决OpenMV IDE中出现的两个端口问题,可以尝试以下步骤&#x…...
自制虚拟机(C/C++)(三、做成标准GUI Windows软件,扩展指令集,直接支持img软盘)
开源地址:VMwork 要使终端不弹出, #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup") 还要实现jmp near 0x01类似的 本次的main.cpp #include <graphics.h> #include <conio.h> #include <windows.h> #includ…...
算法题(56):旋转链表
审题: 我们需要根据k的大小把链表向右移动对应次数,并返回移动后的链表的头结点指针 思路: 根据提示中的数据大小我们发现:k的值可以远大于节点数。 也就是说我们对链表的操作存在周期,如果k%len0,说明我们…...
解决PyG安装中torch-sparse安装失败问题:详细指南
1 问题描述 最近在学习GNN,需要使用PyTorch Geometric(PyG)库。在安装PyG的过程中,遇到了torch-sparse安装失败的问题,错误提示为: ERROR: Failed building wheel for torch-sparse本文将详细记录问题的解…...
如何创建折叠式Title
文章目录 1 概念介绍2 使用方法3 示例代码 我们在上一章回中介绍了SliverGrid组件相关的内容,本章回中将介绍SliverAppBar组件.闲话休提,让我们一起Talk Flutter吧。 1 概念介绍 我们在本章回中介绍的SliverAppBar和普通的AppBar类似,它们的…...
go-zero学习笔记(三)
利用goctl生成rpc服务 编写proto文件 // 声明 proto 使用的语法版本 syntax "proto3";// proto 包名 package demoRpc;// golang 包名(可选) option go_package "./demo";// 如需为 .proto 文件添加注释,请使用 C/C 样式的 // 和 /* ... */…...
Wildcard工具详解:从入门到精通
1. Wildcard基础知识 什么是Wildcard? Wildcard(通配符)是一种用于匹配文件名或字符串的特殊字符。它允许用户使用简单的符号来表示复杂的匹配规则,从而快速定位目标文件或数据。 常见的Wildcard符号 *:匹配任意数量…...
冰蝎v3.0 beta7来啦
我用了一台kali,一台centos,一台windows,做了一个文件上传和一个反弹shell实验,载荷是AES加密的,终于感受到了对加密流量的无可奈何~ kali(php8.1)centos(php7.1)window…...
React中使用箭头函数定义事件处理程序
React中使用箭头函数定义事件处理程序 为什么使用箭头函数?1. 传递动态参数2. 避免闭包问题3. 确保每个方块的事件处理程序是独立的4. 代码可读性和维护性 示例代码总结 在React开发中,处理事件是一个常见的任务。特别是当我们需要传递动态参数时&#x…...
记忆化搜索和动态规划 --最长回文子串为例
记忆化搜索 记忆化搜索是一种优化递归算法的方法,通过将已经计算过的子问题的结果存储起来(通常使用哈希表或数组),避免重复计算相同的子问题。 本质上是通过缓存中间结果来减少计算的重复性。 动态规划 动态规划是通过将问题分…...
Tree Compass( Codeforces Round 934 (Div. 2) )
Tree Compass( Codeforces Round 934 (Div. 2) ) You are given a tree with n n n vertices numbered 1 , 2 , … , n 1, 2, \ldots, n 1,2,…,n. Initially, all vertices are colored white. You can perform the following two-step operation: …...
【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.17 掩码数组:缺失值处理的优雅方案
2.17 掩码数组:缺失值处理的优雅方案 目录 #mermaid-svg-12vjJJbyudPnkYBO {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-12vjJJbyudPnkYBO .error-icon{fill:#552222;}#mermaid-svg-12vjJJbyudPnkYBO…...
PHP 常用函数2025.02
PHP implode() 函数 语法 implode(separator,array) 参数描述separator可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。array必需。要组合为字符串的数组。 技术细节 返回值:返回一个由数组元素组合成的字符串。PHP 版…...
react中如何获取dom元素
实现代码 const inputRef useRef(null) inputRef.current.focus()...
【C++】继承(下)
大家好,我是苏貝,本篇博客带大家了解C的继承(下),如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 5.继承与友元6.继承与静态成员7.复杂的菱形继承及菱形虚拟继承8.继…...
C语言实现字符串排序:从代码到原理深度解析
在编程的世界里,字符串处理是一项基础且重要的技能。今天,我们通过分析一段C语言代码来深入了解如何对字符串进行排序。 一、代码呈现 #include <stdio.h> #include <string.h> int main() { char s[1001]; scanf("%s", s); int…...
Vue3的el-table-column下拉输入实时查询API数据选择的实现方法
由于本人对el-table-column有下拉输入选择的要求,根据网上搜索的资料及本人优化,推出我比较满意的方法,供各位读者参考使用。 效果图 el-table-column写法 <el-table-columnlabel"货品编号"align"center"prop"…...
【数据结构】_链表经典算法OJ:复杂链表的复制
目录 1. 题目链接及描述 2. 解题思路 3. 程序 1. 题目链接及描述 题目链接:138. 随机链表的复制 - 力扣(LeetCode) 题目描述: 给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,…...
Vue 图片引用方式详解:静态资源与动态路径访问
目录 前言1. 引用 public/ 目录2. assets/ 目录3. 远程服务器4. Vue Router 动态访问5. 总结6. 扩展(图片不显示) 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 在 Vue 开发中&#x…...
chatGPT写的网页版贪吃蛇小游戏
chatGPT写的网页版贪吃蛇小游戏 前言网页版贪吃蛇小游戏 前言 之前无聊,让ChatGPT写了一段基于html语言的贪吃蛇小游戏代码 网页版贪吃蛇小游戏 将以下内容复制到记事本,重命名为xxx.html即可打开浏览器游玩 这里是一个使用HTML、CSS和JavaScript编写…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...
C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
nnUNet V2修改网络——暴力替换网络为UNet++
更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

