STM32 USB通信的应用十分广泛,它可以用于实现串口通信、文件传输、人机交互等多种功能。在选择STM32 USB通信模式时,需要根据实际需求选择合适的模式。例如,对于需要进行数据发送和接收的应用,可以选择CDC模式(虚拟串口模式);对于需要与计算机进行人机交互的应用,可以选择HID模式(人机接口设备模式)。 1. CDC模式应用 CDC...
在《串口通信》项目基础创建工程。 配置USB HID 设备 点击1处,选中后Device(FS),3处选择HID,其他参数默认。 配置USB 时钟 USB时钟需设置为48MHz。 增加堆栈大小,防止溢出 3. 编辑代码 更改为键盘。 设备描述符改为键盘 usbd_hid.c文件中USBD_HID_CfgFSDesc[USB_HID_CONFIG_DESC_SIZ]对应值由0x02改为0x01...
一、前言某客户在使用 STM32U5 开发一款产品时需要使用到 USB Custom 进行双向通信,并反馈STM32U5 使用的是 Azure USBx 协议栈,不再支持 ST USB device 库。客户表示只熟悉 ST USB Device 库,对 USBx 协议栈与 API 没有任何使用经验。查阅目前所有 USBx 的例程,发现目前 USBx 均没有可参考的 Custom ...
1.stm32的usb外设可选高速的USB2.0,和全速的USB1.0,由于stm32F4不自带usb的高速PHY,使用高速模式需要外接USB3300之类的模块,这里我们不要求通信速度,于是使用全速模式。 usb集线器向下兼容,全速模式可接几乎所有的usb扩展口。 2.USB主机在D+,D-线都会接15k的下拉电阻,而USB全速模式的从机需要在D+线上接1.5k的...
STM32F103芯片集成了USB2.0 Full-Speed接口,可以用作与外部设备进行通信,如电脑。基本连接如下:其中,V3P3是USB接口VBUS通过LDO转换为3.3V。 因为STM32F103内部没有集成USB2.0 Full-Speed的上拉电阻,因此外接上拉电阻(详细见上篇文章“USB2.0系列—HID设备”),然后将MCU_DM和MCU_DP分别接MCU的DM和DP,即可实现USB2.0...
STM32的USB库将SETUP包放在一起处理,首先是枚举阶段 USBD_OTG_ISR_Handler --> gintr_status.b....
4. USBx 实现 Custom HID 双向通信的步骤 (一) 系统外设、USB、USBx、Threadx 的添加和基础配置下面...
一、安装完MDK后请打开C:/Keil/ARM/Examples/ST/STM32F10xUSBLib/Demos路径,将Custom_HID在同一个目录下复制一份,如果你要放到其他路径你需要在MDK Options for target的C/C++中添加USB的头文件路径(MDK下的/INC/ST/STM32F10x/USB)。 二、打开usb_desc.c文件,该文件主要包含的端点描述符、设备描述符、配置...
4.选择USB库进行配置 5.生成工程文件,输出 6.对输出的工程文件进行修改,如下: 修改usbd_custom_hid_if.c中报告描述符: /** Usb HID report descriptor. */ __ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END = ...
前面几节我们使用Cubemx生成了usb的两个使用例子(虚拟串口、HID鼠标),本节我们进一步学习,如何用生成自定义的HID设备。本节的例子在开发板上运行以后,可以通过usb HID接口实现和计算机更为自由的通信。 本节的例子使用的开发环境是cubemx 6.1.0,pack版本是1.8.0。