首先说一下STM32的USB库的初始化操作,MX_USB_DEVICE_Init函数中使用USBD_RegisterClass函数注册绑定了实际的端口初始化控制等操作,如果是CDC那么注册的就是USBD_CDC这个结构,如果是MSC那么就是注册的USB_MSC这个结构,所以我们的组合设备思路就是用哪个的时候,就将这个结构切换成对应的操作结构。 第一步:基础工程生成...
打开usbd_cdc_if.c文件,找到虚拟串口接收函数。 1staticint8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len) 2{ 3/* USER CODE BEGIN 6 */ 4USBD_CDC_SetRxBuffer(hUsbDevice_0, &Buf[0]); 5USBD_CDC_ReceivePacket(hUsbDevice_0); 6return(USBD_OK); 7/* USER CODE END 6 */ 8...
使用STM32CubeMX建立两个独立的工程,一个是CDC工程,一个是MSC工程。然后以一个工程为母版,本例程是以CDC为母版,将MSC工程路径Middlewares\ST\STM32_USB_Device_Library\Class下的MSC文件夹拷贝到CDC工程该路径下,如图 二、描述符修改 描述符修改基本遵循设备层,配置、接口、端点依次更改。 1.设备层 无论是CDC的...
SWD 接口,全系列 Cortex-M0/M3/M4/M7 下载和调试(HID) 自带USB 虚拟串口,方便程序调试(CDC) 拖拽下载功能,模拟 U 盘,将 Hex 或 bin 格式文件拖拽或拷贝至U盘完成下载(MSC) 串口下载程序,改进官方程序实现(串口ISP) 输出5.0V 电源,可供电目标电路 输出3.3V 电源,可供电目标器件 板载自恢复保险丝,短路自保护...
"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...
并且只有与MSC相关的endpoint有反应,与CDC相关的三个endpoint没有任何反应
c.自带 USB 虚拟串口,方便程序调试(CDC) d.拖拽下载功能,模拟 U 盘,将 Hex 或 bin 格式文件拖拽或拷贝至 U 盘完成下载(MSC) e.串口下载程序,改进官方程序实现(串口 ISP) f.输出 5.0V 电源,可供电目标电路 g.输出 3.3V 电源,可供电目标器件
STM32 HAL库实现USB组合设备CDC+MSC目录STM32 HAL库实现USB组合设备CDC+MSC jefljel 2021-08-05 07:54:31 拔下并重新插入STM32时USB CDC不工作怎么解决? 我在Windows 10 上使用 Nucleo-H743ZI STM32 开发板。当我上传一个程序,该程序使用 CDC_Transmit_FS 通过 CDC 发送数据,然后立即打开串行监视器时...
首先,我们需要了解USB复合设备MSC(大容量存储设备)和CDC(通信设备类)的工作原理。在这种情况下,MSC...
STM32 USB如何配置多个CDC设备---5个CDC设备 STM32 USB如何配置多个CDC设备---5个CDC设备 1. 背景由于项需求,在STM32F072中需实现5个CDC设备,折腾了很久分享出来,希望能帮助别人少踩一些坑.USB2.0全速,该款单片机支持8个输出和8个输… casojie 为什么说DSD音频是最好的,最接近真实的录音? 影音新生活 音频...