1.准备两个工程 首先用STM32CubeMX分别生成CDC和MSC两个工程,测试正常。 2.拷贝到一个工程中 以其中一个工程为模板,将另一个工程中需要的文件拷贝过来。这里以MSC的工程为模板,将CDC工程中的下列文件/文件夹拷贝过来,并添加到工程中。 添加完成后的工程目录如下: 复制过来的只有usbd_cdc_if.c和usbd_cdc.c...
现在的环境是使用单根USB线创建MSC+CDC与上位机通信。当CDC和MSC同时运行,且MSC接口有大数据量通过时CDC设备端口会断开。 附件内有用WIRESHARK 4.2.0抓取到的数据包log可供参考,以下是对log的一些解析: 2.46.2是CDC设备 2.46.3是MSC设备 2.41.2是串口打印设备(调试用) 2.1.2 鼠标 在log的第81760条数据时,MSC...
首先说一下STM32的USB库的初始化操作,MX_USB_DEVICE_Init函数中使用USBD_RegisterClass函数注册绑定了实际的端口初始化控制等操作,如果是CDC那么注册的就是USBD_CDC这个结构,如果是MSC那么就是注册的USB_MSC这个结构,所以我们的组合设备思路就是用哪个的时候,就将这个结构切换成对应的操作结构。 第一步:基础工程生成...
首先,我们需要了解USB复合设备MSC(大容量存储设备)和CDC(通信设备类)的工作原理。在这种情况下,MSC...
包括 USB 1.1、USB 2.0、USB 3.0 等,定义了 USB 接口的物理层、数据链路层、传输层、会话层、表示层等协议,以及 USB 设备类(Device Class)标准,常见的设备类包括 HID(Human Interface Device,人机接口设备)、MSC(Mass Storage Class,大容量存储设备)、CDC(Communication Device Class,通信设备)、Audio、Video 等...
设备描述符:用于描述此设备的配置数量,设备类型(HID ,CDC ,MSC ,自定义等) ,厂商信息 配置描述符:一个设备可以有多种配置 ,配置可分时复用 ,配置描述符主要描述了本配置下的接口数量和供电要求 接口描述符:每个配置下可存在多个接口(功能) ,如一个耳机有 麦和听筒功能 ,接口描述符描述了本接口的端点数和协议...
stm32 支持CDC和MSC复合设备及USB虚拟多串口 Setup packet详解 其中wIndex用于指定接口或端点 其中每个端点地址对应一个方向。例如端点3-IN,端点3-OUT,这两个含义完全不同。但是需要注意其中的一个特殊端点--端点0,每个USB设备必须要有一个端点0,其作用为对设备枚举和对设备进行一些基本的控制功能,端点0也被称为...
USB复合设备 (Composite Device ) 目录 2 • 第一部分 复合设备Composite Device概念的讲解 • 第二部分 CDC+MSC复合设备 demo讲解 复合设备的概念 3 USB复合设备,顾名思义就是一个具备多种功能的设备, 不再是一个设备仅能提供一种用途。 我们知道电脑的USB插口是非常有限的,尽管可以使用 USB Hub来扩展接口...
本篇描述基于USB的复合设备,同时实现usb虚拟串口VCP和SD卡U盘的功能,首先实现USB的CDC,然后结合上一篇的U盘功能,最终实现一个复合功能1、CDC实现(usb转串口功能) 单独新建一个Cube MX工程,专用于实现cdc的功能,工程的时钟等基础配置与前篇描述的一致即可。 在connect
应该是CDC msc为大容量存储方案,多为移动存储设备 HID人机接口级方案,多为不需要驱动的键盘鼠标等 CDC是通信设备级方案,是USB 转其他的接口的一类设备,比如USB转RS232,USB转Ethernet等 为什么不采纳?!!为什么不在15分钟内采纳~~~??!! 伤透了我滴心!!!