虚拟 COM 端口还是使用原始端点?

2023-11-29

我正在使用 USB 控制器和代码示例在微控制器中开发软件来实现虚拟 COM 端口。

它的实现是一个来回传输数据的设备,我正在考虑使用 2 个批量端点,在我的计算机中使用 libusb 来读取和写入它们。

虚拟 COM 的优点是不需要 libusb,因为驱动程序已经存在,并且可以通过与 com 端口连接来完成通信(在本例中仅限 Linux)。

就数据传输而言,什么最快?我知道两者都是使用 2 个批量端点的实现(虚拟 com 也使用中断,不确定我现在是否需要它)。即使使用虚拟 com 端口有效负载,该传输速率是否有可能与使用 2 个批量端点(没有 USB 类)实现某些内容相同?

您认为我在做出这个决定时还遗漏了任何其他要点吗?


要实现虚拟 COM 端口,您还必须使用 USB 类USB CDC ACM.

https://en.wikipedia.org/wiki/USB_communications_device_class

请参阅 UART 标准波特率https:// electronics.stackexchange.com/questions/9264/what-standard-uart-rates-are-there

110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800, 921600,...高波特率有时会产生问题

使用 USB CDC ACM 时,设备将被识别为(虚拟)COM 端口,并且可以通过终端进行访问

批量传输是以最大速度传输数据的最简单方法,可与大容量存储设备类

https://en.wikipedia.org/wiki/USB_mass_storage_device_class

该设备将被识别为大容量储存(普通驱动器,如 USB 记忆棒)

看到这个http://www.beyondlogic.org/usbnutshell/usb4.shtml#Bulk

如果您需要 Atmel MCU 的示例和源代码,请参阅陆发图书馆 (http://www.fourwalledcubicle.com/LUFA.php)或查看嵌入式操作系统 like Contiki操作系统。其中包括其他 MCU(例如 MSP430)的 USB 源代码……还有

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

虚拟 COM 端口还是使用原始端点? 的相关文章

  • 二进制串口读取c中丢失的字节

    我正在将二进制数据从 arduino 发送到运行此代码的串行端口 在十六进制模式下使用cutecom可以清楚地读取我对该串行端口的期望 如下所示 00000000 24 04 85 ab 47 43 04 04 24 04 85 ab 47
  • qt 读取就绪信号

    我正在尝试与运行 1996 年处理器的设备建立串行连接 这意味着数据传输回我可能需要几秒钟的时间 我知道readyRead每次有新数据可用时都会生成信号 但我的问题是生成多长时间 这也是我可以测试就绪读取是否较低的一种方法 因为如果当它们不
  • 计算串行通信的块校验字符 (BCC)

    我通过 NET 的 SerialPort 类通过串行与设备进行通信 并且根据第三方设备规范要求 我需要计算 块检查字符 我被告知的唯一信息是 这是一个异或运算 XOR 并且必须对所有角色执行 那么 如果我有字符串 Bob 001 将如何计算
  • 为什么我无法在 Android 上从串口打开/写入?

    我编写了一个 Android 应用程序 它在 Android 4 4 Kitkat 设备上的自定义内核上运行 该设备使用 Android 串行端口 API https code google com p android serialport
  • Windows 通用应用程序串行端口无法打开,SerialDevice.FromIdAsync 始终为 null

    我正在尝试在 Windows 通用应用程序中使用串行端口 我一直在使用微软的串行示例应用程序作为模板 但是我遇到了一个相当奇怪的问题 var dis await DeviceInformation FindAllAsync SerialDe
  • 通过串行端口通过诺基亚手机发送短信

    我正在尝试通过诺基亚手机通过串口发送短信 这通过腻子很容易 命令来自诺基亚文档 http wiki forum nokia com index php Using AT commands to send and read SMS工作正常 然
  • 导入 python 模块的特殊性?

    我一直在使用 python 的 PySerial 库pyserial API http pyserial sourceforge net pyserial api html 我似乎无法理解为什么我必须专门导入模块的某个部分 这会给我一个错误
  • Windows平台下C语言控制串口DTR和RTS引脚

    如何在windows平台上控制串口的DTR和RTS引脚 我希望通过升高或降低电压来对其进行位敲击或操作 您需要使用EscapeComm 函数 https learn microsoft com en us windows desktop a
  • 判断串口是普通COM还是SPP

    我正在寻找一种方法来确定 COM 是标准 COM 还是 SPP COM 也称为 COM 设备的电缆替换蓝牙适配器 我有一个可以在 USB COM gt USB 和蓝牙下工作的设备 并且蓝牙接口可以与 SPP 一起工作 我目前正在使用Syst
  • Python:获取USB闪存驱动器设备的名称[windows]

    我正在尝试编写一个小程序 它将能够读取有关 REMOVEABLE DEVICE USB 的一些信息 我试过了pyusb https github com walac pyusb但我无法提取我需要的数据 我想从系统中读取 USB 设备的名称
  • ASP.NET/Silverlight 控制 USB 设备

    我想使用某种 USB 设备 例如闪光灯 提醒用户有新消息 是否可以从 ASP NET 或 Silverlight 控制 USB 设备 您可以在网页中使用自定义 ActiveX 组件和一些 javascript 来完成此操作 或者 您可以使用
  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m
  • 虚拟USB设备的安装与仿真

    我已经读过创建虚拟USB设备 https stackoverflow com questions 5016363 creating a virtual usb device and 虚拟USB设备 https stackoverflow c
  • 如何在Android上读取/写入外部USB存储设备?

    我目前正在制作一个应用程序 需要能够读取和写入通过 USB OTG 适配器连接的 USB 闪存驱动器 有没有一种简单的方法可以通过标准访问此存储Java io File蜜蜂 该应用程序只能在运行 Android 4 2 2 的已 root
  • 作为附件的 Android 设备

    我有 2 个 Android 设备 我想用 USB OTG 电缆连接它们 并在两个设备之间进行来回通信 据我了解 一台 Android 设备将充当 USB 主机 运行 4 4 的 Nexus 7 另一台 Android 设备将充当 USB
  • Arduino 串行输出丢弃字符

    当我尝试为我的 Arduino Uno 编写一些代码时 我遇到了一个奇怪的串行输出 我有这个原始代码 MyClass myclass void setup Serial Begin 9600 Serial println Starting
  • Linux中根据USB VID:PID获取设备路径

    如果我插入一个设备 比如说 dev ttyUSB0我想知道号码0基于其 VID PID 通过lsusb 我怎样才能在 C Linux 中做到这一点 我有这个代码来查找一台打印机设备 如果有帮助的话 int printer open void
  • 如何使用 COMMTIMEOUTS 等待字节可用但读取多个字节?

    我有一个 C 串行端口类 它具有用于读取操作的非阻塞和阻塞模式 对于阻塞模式 COMMTIMEOUTS cto GetCommTimeouts m hFile cto Set the new timeouts cto ReadInterva
  • Arduino 上的串行消息到整数

    我希望我的 Arduino 通过串行通信接收一个整数 你能帮我解决这个问题吗 它应该是这样的形式 int value strtoint Serial read 有多种方法可以读取整数Serial 很大程度上取决于数据发送时的编码方式 Ser
  • C++串口问题

    我在 Visual Studio 上使用 C 连接到任何串行端口 想要与 Arduino 交换 时遇到问题 我正在使用串行类 http www arduino cc playground Interfacing CPPWindows在 Ar

随机推荐

  • Swift:将符合 FloatingPoint 的值转换为 Double

    我正在编写浮点协议的扩展 我想以任何可能的方式将其转换为 Double extension FloatingPoint var toDouble Double return Double exactly self 0 compile err
  • 如何从媒体存储中删除单个文件?

    这段代码有效 getActivity getContentResolver delete MediaStore Audio Media EXTERNAL CONTEN T URI TITLE songdetails get index so
  • 将容器从 ACR 部署到 AKS

    我有一个容器 其中有一个非常简单的 Web 应用程序 已上传到 Azure 容器注册表 我创建了一个 AKS 集群 现在我想将容器部署到 AKS 中 我找到了许多关于此的教程 但它们似乎都引用了 YAML 文件 而这些文件的解释很少或根本没
  • java - 比较月份和年份的两个日期值

    我需要匹配两个日期 如果它们的月份 年份相同 我应该返回 true 否则返回 false 根据我的搜索 我找到了以下解决方案 还有其他更好的方法来进行这种比较吗 Calendar cal1 Calendar getInstance Cale
  • 如何使用带通配符的 AzureSearch

    我想搜索名称为 14009 00080300 的字段 并且希望仅搜索其中的一部分 例如 14009 000803 时获得命中 使用这段代码我没有得到任何点击 search 14009 000803 count true top 10 有没有
  • SharedSecrets机制是如何工作的?

    jdk internal misc SharedSecrets自我描述为 共享秘密 的存储库 这是一种机制 调用另一个包中的实现私有方法而不需要 使用反射 包私有类实现了一个公共类 接口并提供调用包私有方法的能力 在该包内 实现该接口的对象
  • Visual Studio Express 2012 for Desktop 中没有 Metro 项目模板?

    两个下载页面桌面版 and 对于 Windows 8提供相同的 Web 安装程序 名为 Visual Studio Express 2012 for Windows Desktop 我安装了它 这是它的 新项目 窗口 In 本教程页面 它说
  • 如何使用 Accessstoken 通过图 api 向 Facebook 好友发送消息

    任何人都可以帮助我使用 graph api 向 Facebook 好友发送消息 I tried response facebook gt call api me feed post to john message You have a Te
  • Visual Studio:如何显示从基类继承的所有类?

    在 Visual Studio 中 如何显示从基类继承的所有类 例如 在 ASP NET MVC 中有几个 动作结果 类型 它们都继承 实现基类ActionResult 看起来除非你只是 知道 View and Json有效ActionRe
  • GZip 压缩在 IIS 7.5 上不起作用

    我试图在 IIS 下支持静态文件的 GZip 压缩 默认情况下应该启用 但没有 但到目前为止还没有工作 这是下面的部分
  • 如何在 Java 中通过引用传递可变参数

    我正在编写一个方法 该方法接收任意数量的参数并返回修改后的参数 我尝试过使用 varargs 但它不起作用 在这里您可以看到代码的简化版本 public static void main String args String hello h
  • 为 Flexbox 列表设置固定间距

    i noticed that on my firefox the distance between the bottom of the website and the list for links terms about is really
  • 这是聚合吗?

    我有以下代码 public static void main String args Engine engine new Engine This Engine Car b new Car engine b null 这是聚合吗 我一直认为聚
  • pgrep -P,但对于孙子而不仅仅是孩子

    我在用 pgrep P 获取 的子进程 pid 但我实际上也想要一份孙子和曾孙的名单 我该怎么做呢 例如 使用常规编程语言 我们会使用递归来做到这一点 但是使用 bash 呢 也许使用 bash 函数 我已经发布了尝试解决方案 它简短而有效
  • uwp InkCanvas 将斯托克斯保存为 svg

    我正在尝试将 InkCanvas InkStorkes 保存为 SVG 我发现之前的一个问题适用于 Wpf 但我无法让它与 uwp 一起使用 Wpf InkCanvas 将斯托克斯保存为 svg 我对其进行了一些更改 但遇到了 GetGro
  • 如何将 simulink 文件转换为 XML

    我需要将 Simulink 文件 mdl 转换为 XML 文件 经过任何搜索后 我没有找到任何内容来帮助我解决此问题 您知道 Java 中的某种方法或现成的解决方案吗 从 R2008b 开始 您可以使用以下命令将 mdl 文件导出到 xml
  • Angular 表单 - 访问子组件模板中的 FormArray

    我有一个需要几个组件FormControls and FormArrays 作为输入 我正在访问FormControl来自子组件的 s 如下所示 formControl control 这工作得很好 但我找不到一种方法来做同样的事情Form
  • 将 dd/mm/yy 和 dd/mm/yyyy 转换为日期

    我有一些字符向量 其中包含各种格式的日期 如下所示 dates lt c 23 11 12 20 10 2012 22 10 2012 23 11 12 我想将它们转换为日期 我已经尝试了 lubridate 包中非常好的 dmy 但这不起
  • 手动对整数列表进行排序

    我对编程还很陌生 我只学习了几个星期的Python 最近有人给我一个练习 要求我生成一个整数列表 然后在单独的列表中手动将数字从最低到最高排序 import random unordered list range 10 ordered lo
  • 虚拟 COM 端口还是使用原始端点?

    我正在使用 USB 控制器和代码示例在微控制器中开发软件来实现虚拟 COM 端口 它的实现是一个来回传输数据的设备 我正在考虑使用 2 个批量端点 在我的计算机中使用 libusb 来读取和写入它们 虚拟 COM 的优点是不需要 libus