AN3156 Application note USB DFU protocol used in the STM32 bootloader Introduction This application note describes the USB DFU protocol used in STM32 microcontroller bootloader, detailing each supported command.
BYTE bInterfaceSubClass, 子类型代码(由USB分配)。 BYTE bInterfaceProtocol, 协议代码(由USB分配)。 BYTE iInterface 字符串描述符的索引。 }USB_INTERFACE_DESCRIPTOR; 以下是摘取的STM32的鼠标(HID)设备里的实例代码里的一个接口描述符: 4、端点描述符 每一个能够与USB实现数据交换的硬件叫做端点。USB设备中的...
将STM32的USB初始化为USB从机,使用标准HID协议。控制板自带VBUS供电,因此不需要VBUS、GND引脚。只要...
我用STM32F103 开发一个USB 自定义设备, 因为STM32CUBE 里没有自定义设备,所以我选择CDC然后更改设备...
bInterfaceProtocol为接口的协议,原来为鼠标,这里改为1,键盘。第三部分为HID描述符,只有HID设备才有,如果你要修改成其它设备,则用其它设备的类特殊描述符代替或者没有,在这里不用做修改。第四部分为输入端点1的端点描述符,原来代码中,设置的端点最大包长度(wMaxPacketSize)为4字节,我们将其改成8字节。另外,...
STM32的USB库将SETUP包放在一起处理,首先是枚举阶段 USBD_OTG_ISR_Handler --> gintr_status.b.outepintr --> DCD_HandleOutEP_ISR --> /* inform the upper layer that a setup packet is available */ /* SETUP COMPLETE */ USBD_DCD_INT_fops->SetupStage(pdev); --> ...
4)bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol:分别是接口所使用的类、子类、和协议,对应的代码(编号)由USB协议来定义。跟设备描述符中的意义很相像,设备描述符也有类似的三个域 (如果要开发自己的上位机,则这三个字段都设置为0xFF)。 5)iInterface:如果设置为0,则表示没有字符串。 5.端点描述符 ...
bDeviceProtocol 1 iConfiguration 1 bInterfaceClass 1 bInterval 1 bMaxPackeerSize0 1 bmAttributes 1 bInterSubfaceClass 1 idVendor 2 bMaxPower 1 bInterfaceProtocol 1 idProduct 2 iInterface 1 bcdDevice 2 iManufacturer 1 iProduct 1 iSerialNumber 1 iNumConfigurations 1 附录...
carry the USB Power Delivery protocol messages Ready-to-use hardware and firmware examples are available to implement USB-C and power delivery technology in any embedded system for faster time to market. STM32 solutions for USB-C comply with the USB Type-C connector system interface specifications...
大牛圈圈用51单片机实现了usb鼠标键盘等设备,让人非常佩服,51单片机自己还是很熟悉,大学玩了四年单片机,单片机来实现立马感觉亲切了许多,决定先从单片机入手学,后面再看linux那些事儿之我是usb,深入学习linux内核下usb,以下先介绍usb协议,内容整理来自usb spec、网络和圈圈书中,文中也大量引用STM32官方的USB2.0协议...