项目工程中加入\stm32_mw_usb_device master\Class\CDC\Src 中的 usbd_cdc.c,并修改相应头文件名称和路径,解决编译问题;另外,由于移除了usbd_hid.c文件,所以在应用层也需要并屏蔽掉HID相关的应用层操作;主要比如HAL_GPIO_EXTI_Rising_Callback(),然后编译,会遇到下面3个错误:...
STM32深入学习 今天在手机上研究USB编程思路,发现果然有两种不同方法,即HID和CDC。其中CDC为虚拟串口类库,HID则是USB人机接口库。可见代码肯定不同。从传输速度上看,应该采用HID。而CDC的虚拟串口据说从PC传1字节要10毫秒,比较慢吧。 做这些代码框架的话,只要用STM32CubeMX就行了。我今天还头一次看到有这种东西。
USB到STM32 USB CDC模式是指通过USB接口将计算机与STM32微控制器进行通信的一种方式。USB CDC (Communication Device Class)是一种USB设备类别,用于模拟串行端口通信。具体来说,USB CDC模式将STM32微控制器配置为虚拟串行端口,使计算机可以通过USB连接与STM32进行数据传输。 USB到STM32 USB CDC模式的优势包括: 方便...
将usbd_hid.c 移除,项目工程中加入\stm32_mw_usb_devicemaster\Class\CDC\Src 中的 usbd_cdc.c...
下面测试的是HID和CDC的复合设备的例子。程序中使用的RTOS 是ThreadX,总共创建了4个任务用于初始化USB...
此外,还需要在`usbd_cdc_if.h`头文件中定义需要的接口函数和变量。 通过以上的实现和配置,STM32将被识别为一个虚拟串口USB设备。主机可以通过串口通信协议与STM32进行通信。 需要注意的是,USB设备模式的具体应用取决于所使用的USB设备类别。例如,如果需要实现HID设备或USB存储器等其他USB设备模式,需要根据相应的设备...
,我们需要了解虚拟串口的工作原理。虚拟串口是通过软件模拟的串口,数据通过USB端口传输。在STM32中,我们可以使用USB CDC(Communication Device Class)模式来实现虚拟串口功能。 接收数据的过程如下:首先,当STM32接收到数据时,它会触发一个中断, 2023-12-20 11:22:33 HID...
STM32 USB 复合设备实现 可实现用一个USB接口实现多个USB设备,如 HID+MSC; HID+CDC; HID+CDC+MSC等等 使用HAL库,以HID+MSC为例 具体步骤: 目录 一、增加端点 二、更改设备描述符 三、HID+MSC内核配置 1、新建结构体 2、配置描述符 3、实现函数
一、usb_desc.c文件 根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_CONFIG_DESC]下添加需要处理的端点;根据需要添加或删除报告描述符(主要用于HID)和CDC接口描述符(主要用于实现USB转串口)等。具体方法可以下载个“电脑圈圈”使用D12编写的例子。
一、usb_desc.c文件 根据你程序使用的通信方式修改。usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小;ConfigDescriptor[SIZ_CONFIG_DESC]下添加需要处理的端点;根据需要添加或删除报告描述符(主要用于HID)和CDC接口描述符(主要用于实现USB转串口)等。具体方法可以下载个“电脑圈圈”使用D12编写的例子。