⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drv_usb_init.c

📁 sparc硬件平台上的usb驱动
💻 C
字号:
/************************************************* Copyright (C), 2007, DTK Computer.     File name: drv_usb_test.c     Author: MMI Group    Version: 1.0    Date: 2008.04.30     Description: usb module for emunation test     Others:      Function List:     History:          <author>    <time>    <version >    <desc>          Bosco Lee  08/30/04  1.0 build     this moudle *************************************************///#include <reg51.h>//#include "USBConfig.h"#include "drv_usb_init.h"/* 设备描述符: 测试设备类型 */#define USB_CLASS_CODE_TEST_CLASS_DEVICE                    0x00/* 接口描述符: 测试接口类型*/#define USB_CLASS_CODE_TEST_CLASS_USB						0x08/* 接口描述符: 子类代码 */#define USB_SUBCLASS_CODE_TEST_CLASS_USB                    0x06/* 接口描述符: 协议代码 */#define USB_PROTOCOL_CODE_TEST_CLASS_USB                    0x50init_msd_descriptor (){//设备描述符    USB_DEVICE_DESCRIPTOR DeviceDescr = {	sizeof (USB_DEVICE_DESCRIPTOR),			//设备描述符长度,= 12H	USB_DEVICE_DESCRIPTOR_TYPE,				//设备描述符类型,= 01H	0x00, 0x02,								//协议版本,= 1.10	USB_CLASS_CODE_TEST_CLASS_DEVICE,		//测试设备类型, = 0DCH    	0, 0,									//设备子类,设备协议	EP0_PACKET_SIZE,						//端点0最大数据包大小,= 10H    	0x1e, 0x04,								//PHILIPS公司的设备ID      	0x2b, 0x41,								//设备制造商定的产品ID	0x01, 0x00,								//设备系列号	1, 2, 3,								//索引	1										//可能的配置数    };    USB_DESCRIPTOR usb_descr = {	//配置描述符	{	 sizeof (USB_CONFIGURATION_DESCRIPTOR),	//配置描述符长度,= 09H	 USB_CONFIGURATION_DESCRIPTOR_TYPE,	//配置描述符类型,= 02H	 CONFIG_DESCRIPTOR_LENGTH, 0x00,	//描述符总长度, = 002EH	 1,			//只支持1个接口	 1,			//配置值	 4,			//字符串描述符指针(无)	 0x80,			//自供电,支持远程唤醒	 0x32			//最大功耗(100mA)	 }	,	//接口描述符	{	 sizeof (USB_INTERFACE_DESCRIPTOR),	//接口描述符长度,= 09H	 USB_INTERFACE_DESCRIPTOR_TYPE,	//接口描述符类型,= 04H	 0,			//接口数,只有1个	 0,			//可选配置,只有1个	 NUM_ENDPOINTS,		//除端点0的端点索引数目,= 04H	 USB_CLASS_CODE_TEST_CLASS_USB,	//测试设备类型,= 0DCH	 USB_SUBCLASS_CODE_TEST_CLASS_USB,	//子类代码,= 0A0H   	 USB_PROTOCOL_CODE_TEST_CLASS_USB,	//协议代码,= 0B0H	 5			//字符串描述符索引	 }	,	//端点描述符,端点1输入	{	 sizeof (USB_ENDPOINT_DESCRIPTOR),	//端点描述符长度,= 07H	 USB_ENDPOINT_DESCRIPTOR_TYPE,	//端点描述符类型,= 05H	 0x81,			//端点1 IN	 USB_ENDPOINT_TYPE_BULK,	//bulk传输, = 03H	 EP1_PACKET_SIZE & 0xff, (EP1_PACKET_SIZE >> 8) & 0xff,	//端点最大包的大小,= 0010H	 0			//传输间隔时间,= 10ms	 }	,	//端点2输出	{	 sizeof (USB_ENDPOINT_DESCRIPTOR),	//端点描述符长度,= 07H	 USB_ENDPOINT_DESCRIPTOR_TYPE,	//端点描述符类型,= 05H	 0x2,			//端点2 IN    	 USB_ENDPOINT_TYPE_BULK,	//批量传输,= 02H	 EP2_PACKET_SIZE & 0xff, (EP2_PACKET_SIZE >> 8) & 0xff,	//端点最大包的大小,= 0040H	 0			//批量传输时该设备无效	 }	,	{	 sizeof (USB_STRING_LANG_ID_DESCRIPTOR), 0x03, 0x09, 0x04,}//英语	,	//字符串描述符	{	 sizeof (USB_STRING_DESCRIPTOR), 0x03, 0x30, 0x00, 0x30, 0x00,	 0x30, 0x00, 0x32, 0x00, 0x46, 0x00, 0x35, 0x00, 0x43,	 0x00, 0x57, 0x00, 0x45, 0x00, 0x49, 0x00, 0x4d, 0x00,	 0x49, 0x00, 0x4e, 0x00, 0x47, 0x00, 0x30, 0x00, 0x41,	 0x00,}    };}init_usb_descriptor (){    init_msd_descriptor ();//	printf("leng=%d\n",DeviceDescr.bLength);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -