程序显示在init physical interface 时出现问题,此时我们回过头,会发现我们并没有注册USB 接口:解决方法,将:C:\TEMP\stm32h5-classic-coremw-apps main\Middlewares\ST\STM32_USB_Device_Library\Class\CDC usbd_cdc_if_template.c 和对应头文件添加入项目工程,并添加注册接口interface的函数。解决编译错误,...
数据传输(发送和接收应用数据)USB 组件中的 CDC 实现具有:使用CDC的ACM(抽象控制模型)子类模拟虚拟 COM 端口。 使用CDC的ACM(抽象控制模型)子类使用RDNIS协议模拟网络连接。这支持Windows 主机 PC 和嵌入式设备之间的 USB 网络连接,以及USB 设备 RNDIS 到以太网桥应用程序。 使用CDC 的NCM(网络控制模型)子类模拟以...
USB虚拟串口,简称VCP,是Virtual COM Port的简写,它是利用 USB的 CDC类来实现的一种通信接口。我们可以利用STM32自带的USB功能,来实现一个USB虚拟串口,从而通过USB,实现电脑与STM32的数据互传。 上位机无需编写专门的USB程序,只需要一个下载虚拟串口驱动程序+串口调试助手即可调试,非常实用。 (虚拟串口启动在Win7、...
1号接口是属于一个CDC设备的 casojie /*Endpoint 2 Descriptor*/ 0x07, /* bLength: Endpoint Descriptor size *///控制端点描述符,虽然端点号是无效的,但是这个描述符不可省略 USB_DESC_TYPE_ENDPOINT, /* bDescriptorType: Endpoint */ CDC_CMD_EP, /* bEndpointAddress */ 0x03, /* bmAttributes: ...
在嵌入式系统中,STM32微控制器通过USB CDC(Communication Device Class)虚拟串口通信是一种常见的应用场景。本文将详细介绍如何使用STM32实现USB CDC虚拟串口通信,包括硬件准备、软件配置、代码实现及测试通信。 1. 硬件准备 STM32F103C8T6开发板 USB数据线 ...
STM32CubeMX | 基于STM32使用HAL库实现USB组合设备之多路CDC 第一步:基础工程生成 第二步:USB设备描述符的修改 第三步:修改PMA端点分布 第四步:修改配置描述符 第五步:修改函数接口 ...
我们只需关注一个USB中断接收回调函数,那就是CDC_Receive_HS()函数。该函数在usbd_cdc_if.c文件...
通过使用stm32cubemx,实现USB CDC虚拟串口,并与硬件串口进行数据传输,实现了硬件串口数据的不定长接收,以及USB虚拟串口超过64字节的数据接收,最终实现了一个简单的USB转串口功能。 使用USB的CDC类来虚拟出一个串口与电脑进行通信,可以省去硬件转换电路,同时由于通信使用USB,速度比硬件串口快。ST针对使用CDC虚拟串口有...
在使用STM32CubeMX配置STM32F105RBT6的USB_CDC虚拟串口时,如果遇到了“未知USB设备(设备描述符请求...
剩下的功能就是数据转发,即将USB接收的数据通过USART1发送出去,将USART1接收的数据发送到USB接口。 USB数据转发到USART1 同样是在usbd_cdc_if.c文件中,修改USB接收函数CDC_Receive_FS。将原来的程序屏蔽,添加串口发送的程序。 添加串口发送完成中断回调函数(前提是使能串口发送中断): ...