首先说一下STM32的USB库的初始化操作,MX_USB_DEVICE_Init函数中使用USBD_RegisterClass函数注册绑定了实际的端口初始化控制等操作,如果是CDC那么注册的就是USBD_CDC这个结构,如果是MSC那么就是注册的USB_MSC这个结构,所以我们的组合设备思路就是用哪个的时候,就将这个结构切换成对应的操作结构。 第一步:基础工程生成...
使用STM32CubeMX建立两个独立的工程,一个是CDC工程,一个是MSC工程。然后以一个工程为母版,本例程是以CDC为母版,将MSC工程路径Middlewares\ST\STM32_USB_Device_Library\Class下的MSC文件夹拷贝到CDC工程该路径下,如图 二、描述符修改 描述符修改基本遵循设备层,配置、接口、端点依次更改。 1.设备层 无论是CDC的...
*/#include"usbd_composite.h"#include"usbd_cdc.h"#include"usbd_msc.h"staticUSBD_CDC_HandleTypeDef *pCDCData;staticUSBD_MSC_BOT_HandleTypeDef *pMSCData;staticuint8_tUSBD_Composite_Init(USBD_HandleTypeDef *pdev,uint8_tcfgidx);staticuint8_tUSBD_Composite_DeInit(USBD_HandleTypeDef *pdev,uint8...
SWD 接口,全系列 Cortex-M0/M3/M4/M7 下载和调试(HID) 自带USB 虚拟串口,方便程序调试(CDC) 拖拽下载功能,模拟 U 盘,将 Hex 或 bin 格式文件拖拽或拷贝至U盘完成下载(MSC) 串口下载程序,改进官方程序实现(串口ISP) 输出5.0V 电源,可供电目标电路 输出3.3V 电源,可供电目标器件 板载自恢复保险丝,短路自保护...
并且只有与MSC相关的endpoint有反应,与CDC相关的三个endpoint没有任何反应
"CDC/MSC Config"#defineUSBD_INTERFACE_HS_STRING "CDC/MSC Interface"#defineUSBD_CONFIGURATION_FS_STRING "CDC/MSC Config"#defineUSBD_INTERFACE_FS_STRING "CDC/MSC Interface"__ALIGN_BEGIN uint8_t USBD_DeviceDesc[USB_SIZ_DEVICE_DESC] __ALIGN_END={0x12,/*bLength*/USB_DEVICE_DESCRIPTOR_TYPE...
3. 中断冲突问题:检查是否存在中断冲突的情况。如果在接收中断中调用CDC_Transmit_FS函数,可能会与发送...
首先,我们需要了解USB复合设备MSC(大容量存储设备)和CDC(通信设备类)的工作原理。在这种情况下,MSC...
以下是该部分的关于MSC+CDC的描述符组结构举例的内容: STM32 Ethernet 进阶应用培训材料分享 Ethernet Part 01 STM32以太网外设 Ethernet Part 02 STM32以太网 LwIP介绍 Ethernet Part 03 更换不同的以太网PHY ❀❀❀除了上述的内容以外,USB和以太网的实验部分资料已经上传,您在家就可以使用相应的软硬件根据资...
它与这些类中构建协议的规范兼容。下表展示了MSC、 HID、 DFU、音频、 CDC 类的 USB 设备类文件。