1.准备两个工程 首先用STM32CubeMX分别生成CDC和MSC两个工程,测试正常。 2.拷贝到一个工程中 以其中一个工程为模板,将另一个工程中需要的文件拷贝过来。这里以MSC的工程为模板,将CDC工程中的下列文件/文件夹拷贝过来,并添加到工程中。 添加完成后的工程目录如下: 复制过来的只有usbd_cdc_if.c和usbd_cdc.c...
USB 的CDC+MSC复合使用产生的问题 Quote Postbydenghan»Mon Jan 15, 2024 3:47 am 芯片型号:ESP32S2 SDK版本:ESP-IDF 4.4.6 现在的环境是使用单根USB线创建MSC+CDC与上位机通信。当CDC和MSC同时运行,且MSC接口有大数据量通过时CDC设备端口会断开。
更优的做法是,设备将自身的配置信息保存在本地 ,主机在检测到设备接入时 ,通过端点0获取设备配置信息,然后根据配置信息,使用配置的模式以及配置的数据端点通信 ,这个过程称为USB枚举,枚举所获取的配置称为USB描述符。 设备描述符:用于描述此设备的配置数量,设备类型(HID ,CDC ,MSC ,自定义等) ,厂商信息 配置描述...
首先,我们需要了解USB复合设备MSC(大容量存储设备)和CDC(通信设备类)的工作原理。在这种情况下,MSC...
首先说一下STM32的USB库的初始化操作,MX_USB_DEVICE_Init函数中使用USBD_RegisterClass函数注册绑定了实际的端口初始化控制等操作,如果是CDC那么注册的就是USBD_CDC这个结构,如果是MSC那么就是注册的USB_MSC这个结构,所以我们的组合设备思路就是用哪个的时候,就将这个结构切换成对应的操作结构。
1.如何使用 USB MSC ISP 下载代码到 LPC54114 首先看下,进入 USB MSC 的条件,相关内容可以在 LPC54114 用户手册第三章看到: 本次测试开发板为 LPCXpresso5411X 板子,上面的芯片是 LPC54114J256BD64,从该板子的原理图以及用户手册可以知道: 1. 进入 USB CDC ISP 模式 ...
4. 缓冲区溢出问题:检查发送缓冲区是否有足够的空间来存储要发送的数据。如果发送缓冲区已经满了,CDC_...
3.USB中CDC-ECM的了解和配置 1. USB虚拟串口简介 USB虚拟串口属于USB通信设备类。在物理层通过USB总线,采用虚拟串口的方式为主机提供一个物理串口。在系统内部,USB控制器提供了一个批量传输IN端点和一个批量传输的OUT端点,用于数据的接收和发送,模拟串口的RX和TX线。另外USB控制器还提供中断IN端点,发送当前串口的状...
本篇描述基于USB的复合设备,同时实现usb虚拟串口VCP和SD卡U盘的功能,首先实现USB的CDC,然后结合上一篇的U盘功能,最终实现一个复合功能1、CDC实现(usb转串口功能) 单独新建一个Cube MX工程,专用于实现cdc的功能,工程的时钟等基础配置与前篇描述的一致即可。 在connect
可以方便在CDC,MSC,复合设备三者间切换 可移植性强 预备知识 cube中USB只有两个入口。 main函数中的MX_USB_DEVICE_Init函数。 /* init function */voidMX_USB_DEVICE_Init(void){/* Init Device Library,Add Supported Class and Start the library*/USBD_Init(&hUsbDeviceFS, &FS_Desc, DEVICE_FS); ...