- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何修改USB CDC成为自定义USB Bulk批量传输设备如何修改USB CDC成为自定义USB Bulk批量传输设备
如何实现自定义USB Bulk 批量传输设备 厂商自定义设备的开发除了要完成设备硬件以及固件程序开发外,还需要开发操作系统端 的设备驱动程序,还要开发设备应用程序。 厂商自定义USB 设备的端点可以自由地选择采用哪种传输方式(control transaction 控制传 输、bulk transaction 批量传输、interrupt transaction 中断传输、isochronous transfer 实时传 输),当然控制端点只能用控制传输。标准设备类可能只支持除了控制端点外的其中一种 传输方式,比如前面的HID 实例,除了控制端点外,只支持中断传输,而由于中断传输有 其固有特点,有时并不能满足应用要求,如传输速率方面,由于决定因素在于中断时间, 但中断时间最快是1ms,而批量传输可以随时发生(受带宽限制),理论上传输速率可以 比中断传输快。 Freescale USB Stack 4.1.1 协议栈(/usb) 已经提供了标准的设备类驱 动。为了实现自定义的bulk 批量传输设备,我们可以参考现有的CDC 通信设备类,在 CDC 的源代码基础上进行修改,快速实现自定义USB Bulk 批量传输设备。 1. 修改设备的PID 和VID 对于不同产品需要不同的PID 和VID ,可用通过修改设备描述符中的PID 和VID 字段。 修改文件usb_descriptor.c 的设备描述符: const uint8 Device_Descriptor[18]= { 0x12, //bLength 域,描述符的长度:18 字节 0x01, //bDescriptorType 域,描述符类型:0x01 表示本描述符为设备描述符) 0x00,0x02, //bcdUSB 域,USB 规范版本号(采用BCD 码):2.0 0xFF, //bDeviceClass 域,设备类代码,0xFF 为自定义设备类 0x00, //bDeviceSubClass 域,设备子类代码 0x00, //bDeviceProtocol 域,设备协议代码(0x00 表示不使用任何设备类协议) 0x20, //bMaxPacketSize0 域,端点0 支持最大数据包的长度:32 字节 0xA2,0x15, //idVendor 域,供应商ID (VID ) 0x0F,0xA5, //idProduct 域,产品ID (PID) 0x00,0x00, //bcdDevice 域,设备版本号(采用BCD 码) 0x01, //iManufacturer 域,供应商的字符串描述符索引:1 0x02, //iProduct 域,产品的字符串描述符索引:2 0x03, //iSerialNumber 域,设备序号的字符串描述符索引:3 0x01 //bNumConfigurations 域,该USB 设备支持的配置数目:1 个 }; 2. 修改端点描述符 端点是设备与主机之间进行数据传输的逻辑接口,除配置使用的端点0 (控制端点, 一般一个设备只有一个控制端点)为双向端口外,其它均为单向。端点描述符描述了 数据的传输类型、传输方向、数据包大小和端点号(也可称为端点地址)等。 除了描述符中描述的端点外,每个设备必须要有一个默认的控制型端点,地址为0, 它的数据传输为双向,而且没有专门的描述符,只是在设备描述符中定义了它的最大 包长度。主机通过此端点向设备发送命令,获得设备的各种描述符的信息,并通过它 来配置设备。 /* structure containing details of all the endpoints used by this device */ USB_EP_STRUCT ep[CDC_DESC_ENDPOINT_COUNT] = { { CIC_NOTIF_ENDPOINT, USB_INTERRUPT_PIPE, USB_SEND, CIC_NOTIF_ENDP_PACKET_SIZE }
您可能关注的文档
- 国外打击假药概况分析及对我国的启示国外打击假药概况分析及对我国的启示.pdf
- 国家二级田径裁判培训资料国家二级田径裁判培训资料.ppt
- 国家公务员备考技巧之如何让复习成果超越预期国家公务员备考技巧之如何让复习成果超越预期.doc
- 国家优质工程奖网上申报系统申报用户使用说明国家优质工程奖网上申报系统申报用户使用说明.pdf
- 国家发布最合理衣柜尺寸大全!国家发布最合理衣柜尺寸大全!.pdf
- 园林文化在校园中的应用—昆明学院洋浦校区(下)园林文化在校园中的应用—昆明学院洋浦校区(下).ppt
- 国家级创新创业申报书国家级创新创业申报书.doc
- 国家交通物流信息共享平台logink介绍(印刷)国家交通物流信息共享平台logink介绍(印刷).ppt
- 国家级创新训练任务书国家级创新训练任务书.doc
- 国家行政学院国家行政学院.ppt
- 如何使用示波器捕捉波形如何使用示波器捕捉波形.pdf
- 如何写好行楷如何写好行楷.ppt
- 如何制作CD、DTS CD音乐光碟教程如何制作CD、DTS CD音乐光碟教程.pdf
- 如何化解农村“空心化”的孤独与疼痛如何化解农村“空心化”的孤独与疼痛.doc
- 如何制做投标书如何制做投标书.pdf
- 如何在项目开发早期更好地获取外包支持如何在项目开发早期更好地获取外包支持.pdf
- 如何升级Sonicwall防火墙版本如何升级Sonicwall防火墙版本.pdf
- 如何处理国外客户寄样品的要求如何处理国外客户寄样品的要求.pdf
- 如何好地完成项目 任务如何好地完成项目 任务.ppt
- 如何学好《生活与哲学》如何学好《生活与哲学》.ppt
文档评论(0)