USB虚拟串口——CDC ACM 虚拟串口(不使用 IAD)

文章目录

  • CDC ACM 虚拟串口实现
    • 描述符结构
    • 设备描述符
    • 配置描述符集合
    • 配置描述符
    • 接口 1 的描述符
      • 接口描述符
      • 类特殊描述符
      • 输入端点描述符
    • 接口 2 的描述符
      • 接口描述符
      • 输出端点描述符
      • 输入端点描述符
    • 类特殊请求
      • set control line status
      • get line coding
      • set line coding
    • CDC 数据交互
      • 主机发送数据
      • 从机发送数据

CDC ACM 虚拟串口实现

一个 CDC 设备有两个接口,所以就有两种实现方式

  • 不使用 IAD 接口关联描述符
  • 使用 IDA 接口关联描述符

本文主要介绍不使用 IAD 接口关联描述符

描述符结构

设备描述符
配置描述符
接口1描述符CDC 控制接口描述符类特殊描述符(CDC Header, CDC Call, CDC ACM, CDC Union)输入端点描述符
接口2描述符CDC 数据接口描述符输出端点描述符输入端点描述符

设备描述符

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1534967.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

VirtualBox Install MacOS

环境搭建 git clone https://github.com/myspaghetti/macos-virtualbox 脚本配置 修改macos-guest-virtualbox.sh部分内容为 vm_name"macOS" # name of the VirtualBox virtual machine macOS_release_name"Catalina" # install &quo…

基于springboot的二手物品管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于springboot的二手物品管理系统9拥有三种角色 管理员:用户管理、卖家管理、分类管理、商品管理、订单管理、求购管理、留言管理等 用户:登录注册、购买、收藏、…

宴会中的白酒品鉴技巧,让你成为焦点人物

在宴会中,一杯白酒往往能成为连接人与人之间的纽带,而掌握白酒品鉴技巧,则能让你在觥筹交错间成为众人瞩目的焦点。今天,我们就来谈谈宴会中的白酒品鉴技巧,以豪迈白酒(HOMANLISM)为例&#xff…

ESP32开发 -- 初识

一、ESP32官网 ESP32官网 二、文档下载 用的是ESP32-S3-MINI-1,官网查看相关文档 相关文档 三、技术规格书 四、开发板 参看:ESP32-S3 系列开发板 ESP32-S3-MINI-1 相关开发板的示例代码,后续可以参考。 Espressif Systems esp-dev-…

BMP图片与VGA(HDMI)时序互转

1.BMP介绍 BMP(Bitmap)是一种用于存储位图图像的文件格式,广泛应用于 Windows 操作系统中。BMP 文件可以存储高质量的图像数据,包括颜色深度较高的图片,同时支持无压缩或可选的简单压缩方式。 BMP格式: …

【运维资料】网络监控运维管理解决方案(PPT原件完整版)

构建一体化运维监控平台的核心策略涵盖了几个关键维度,旨在打造一个高效、灵活且稳定的系统管理体系。首要任务是确立清晰的监控目标,这要求深入理解业务需求,确保监控范围覆盖关键性能指标、服务状态及潜在风险点。随后,整合现有…

Qt Model/View之代理

概念 与模型-视图-控制器模式不同,模型/视图设计没有包含一个完全独立的组件来管理与用户的交互。通常,视图负责向用户展示模型数据,并负责处理用户输入。为了在获取输入的方式上具有一定的灵活性,交互由委托执行。这些组件提供输…

C++---内存管理

1 C/C内存分布 栈区:由编译器自动分配和释放,存放运行时候的局部变量,函数参数,返回数据,返回地址。 堆区:一般由程序员自己分配,然后自己释放,例如栈的实现malloc开辟的数组空间。…

中秋假期用向日葵,临时工作需求远程控制随时解决

不知你是否在这美好时刻赏月看灯?有没有收到公司发的月饼呢? 在如今这个讲究降本增效的时代,仪式感早已变得稀少。公司发的月饼还没拆开,新消息就已弹出在公司群里。 此刻心里仿佛有万马奔腾,但很快又如湖水般平静&am…

拒绝千篇一律,AI帮你定制独一无二的个人写真

每个女人都渴望展现最美的自己,你是否厌倦了拍出千篇一律的照片?今天,我要告诉你一个秘密,用简单三步,即可打造属于你的独一无二个人写真!文生图、蒙版换脸、图生图,三步化身超级模特&#xff0…

基于TRIZ的救援机器人轻量化设计

在救援机器人设计中,轻量化是一个至关重要的目标,它直接关系到机器人的便携性、运输效率以及在复杂环境中的作业能力。TRIZ理论为我们提供了一套系统化的工具和方法,用于解决设计过程中遇到的各种挑战,特别是在实现轻量化目标时&a…

初识爬虫4

1.理解代理ip,正向代理和反向代理 2.代理ip分类,根据匿名度分类:透明,匿名,高匿 3.防止频繁向同一个域名发送请求被封ip,需使用代理ip # -*- coding: utf-8 -*- import requestsurl https://www.baidu.comproxies {…

从关键新闻和最新技术看AI行业发展(第三十一期2024.8.26-9.8) |【WeThinkIn老实人报】

写在前面 【WeThinkIn老实人报】旨在挖掘AI行业的关键新闻和最新技术,同时Rocky会对其中的关键信息进行解读,力求让读者们能从容掌握AI科技潮流。 欢迎大家关注Rocky的公众号:WeThinkIn 欢迎大家关注Rocky的知乎:Rocky Ding AIGC算…

微型导轨加工环境需避免的隐患!

微型导轨是一种小巧精密的线性定位解决方案,其高速度、低噪音的特点使得它在现代制造业中扮演着越来越重要的角色。而微型导轨对于加工环境的要求主要体现在以下几个方面: 1、温度控制:加工环境需要保持在适宜的温度范围内,过高或…

一分钟教你 全平台隔空投送文件 LoaclSend保姆级教程

主要内容 什么是LoaclSend 详细步骤 1.下载LoaclSend 2.使用MoleSDN 异地访问 3.一切就绪,打开LocalSend 发送文件 什么是LoaclSend 一款开源的文件传输工具,旨在提供简单、安全、快速的本地文件传输。 LocalSend可以免费使用且无需注册登录&…

音视频直播应用场景探讨之RTMP推流还是GB28181接入?

技术背景 好多开发者跟我们沟通音视频解决方案的时候,不清楚什么时候用RTMP推送模块,什么时候用GB28181设备接入模块,也不清楚二者差异化。实际上,RTMP推流和GB28181接入模块,在很多方面存在差异,如应用领…

个人学习笔记7-5:动手学深度学习pytorch版-李沐

#人工智能# #深度学习# #语义分割# #计算机视觉# #神经网络# 计算机视觉 13.10 转置卷积 例如,卷积层和汇聚层,通常会减少下采样输入图像的空间维度(高和宽)。然而如果输入和输出图像的空间维度相同,在以像素级分类…

【MPC】无人机模型预测控制复现Data-Driven MPC for Quadrotors项目(Part 1)

无人机模型预测控制复现Data-Driven MPC for Quadrotors项目 参考链接背景和问题方法与贡献实验结果安装ROS创建工作空间下载RotorS仿真器源码和依赖创建Python虚拟环境下载data_driven_mpc仓库代码下载并配置ACADO求解器下载并配置ACADO求解器的Python接口下载并配置rpg_quadr…

智能智造和工业软件研发平台SCSAI功能介绍

用爱编程30年,倾心打造工业和智能智造软件研发平台SCIOT,用创新的方案、大幅的让利和极致的营销,致力于为10000家的中小企业实现数字化转型,打造数字化企业和智能工厂,点击上边蓝色字体,关注“AI智造AI编程”或文末扫码…

union和union all的区别,别再傻傻分不清楚了!

union和union all的区别 一、 显示结果不同二、对重复结果的处理不同三、对排序的处理不同四、测试验证1.创建user表并插入测试数据2.通过union关联查询,发现结果自动去重3.通过union all关联查询,发现结果查询所有,并未去重 一、 显示结果不…