STM32自定义USB设备开发详细流程讲解和全套资料源码下载.pdf

STM32自定义USB设备开发详细流程讲解和全套资料源码下载.pdf

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
STM32自定义USB设备开发详细流程讲解及全套资料源码下载(基 libusb) 一、前言 USB 的用途就不多说了,下面的内容主要就是讲解如何利用ST提供的USB驱动库和libusb上位机驱动库实现 一个USB数据传输功能,为了降低开发难度,我们仅仅讲解Bulk传输模式,当然这也是用得比较多的传输模式。 二、开发流程 1. 完成STM32单片机端的USB程序; 2. 利用linusb 自带的inf-wizard工具生成USB驱动; 3. 基于libusb编写USB通信程序; 4. 测试PC和单片机的数据通信。 三、STM32程序编写 1. 完成描述符的修改,修改后的描述符如下 (在usb_desc.c文件中)。配置描述符就包含了端点描述符,我们 用了4个端点,两个BULK-OUT端点,两个BULK-IN端点。 A. 设备描述符 01 const uint8_t CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] = 02 { 03 0x12, /*bLength */ 04 USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ 05 0x00, /*bcdUSB */ 06 0x02, 07 0x00, /*bDeviceClass*/ 08 0x00, /*bDeviceSubClass*/ 09 0x00, /*bDeviceProtocol*/ 10 0x40, /*bMaxPacketSize40*/ 11 LOBYTE(USBD_VID), /*idVendor*/ 12 HIBYTE(USBD_VID), /*idVendor*/ 13 LOBYTE(USBD_PID), /*idVendor*/ 14 HIBYTE(USBD_PID), /*idVendor*/ 15 0x00, /*bcdDevice rel. 2.00*/ 16 0x02, 17 1, /*Inde of string descriptor describing manufacturer */ 18 2, /*Inde of string descriptor describing product*/ 19 3, /*Inde of string descriptor describing the device serial number */ 20 0x01 /*bNumConfigurations*/ 21 }; /* CustomHID_DeviceDescriptor */ B. 配置描述符 01 const uint8_t CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] = 02 { 03 0x09, /* bLength: Configuation Descriptor size */ 04 USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ 05 CUSTOMHID_SIZ_CONFIG_DESC, 06 /* wTotalLength: Bytes returned */ 07 0x00, 08 0x01, /* bNumInterfaces: 1 interface */ 09 0x01, /* bConfigurationValue

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档