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

📄 reqcode.c

📁 嵌入式系统中一些外围设备驱动示例程序集
💻 C
📖 第 1 页 / 共 2 页
字号:
/****************************************Copyright (c)**************************************************
**                               广州周立功单片机发展有限公司
**                                     研    究    所
**                                 http://www.zlgmcu.com
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 刘英斌
** 日 期:2003-03-13
** 描 述:ISP1581 V1.0
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#include "standard.h"
#include "Usb.h"
#include "kernel.h"

//***********************************************************************
//*																		               *
//*	                     Variable Definition 							      *
//*																		               *
//***********************************************************************


//***********************************************************************
//*																		               *
//*	                     Routine Definition								   *
//*																		               *
//***********************************************************************


//***********************************************************************
//*										    							               *
//*	Routine 	:  Standard Device Descriptor                       		*
//*	Input		:  None              									         *
//*	Output   :  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************



DEVICE_DESCRIPTOR				code  	Standard_Device_Descriptor[] =
{
    
    sizeof(DEVICE_DESCRIPTOR),		/*        length	 */
		0x01,    						/*  1.    bDescriptorType            */
		SWAP(0x0110),   				/*  2.-3. Version 1.1 USB spec Word  */
		0x00,   	  					/*  4.    Class                      */
		0x00,    						/*  5.    bDeviceSubClass            */
		0x00,    						/*  6.    bDeviceProtocol            */
		0x40,							/*  7.    bMaxPacketSize0            */
		SWAP(0x04CC),					/* 8.-9.  idVendor                   */
		SWAP(0x1B49),   				/* a.-b.  idProduct for no Filter Driver      */	
		SWAP(0x0000),   				/* c.-d.  bcdDevice                  */
		0x01,   						/* e.	   iManufacturer             */
		0x02,    						/* f.	   iProduct				     */
		0x00,    						/* 10.    iSerialNumber              */
		0x01     						/* 11.    bNumConfigurations		 */
		
};


DEVICE_DESCRIPTOR	code 	HS_Device_Descriptor[] =
{
    
    sizeof(DEVICE_DESCRIPTOR),		/*        length	 */
		0x01,    						/*  1.    bDescriptorType            */
		SWAP(0x0200),   				/*  2.-3. Version 2.0 USB spec Word  */
		0x00,   	  					/*  4.    Class                      */
		0x00,    						/*  5.    bDeviceSubClass            */
		0x00,    						/*  6.    bDeviceProtocol            */
		0x40,							/*  7.    bMaxPacketSize0            */
		SWAP(0x04CC),					/* 8.-9.  idVendor                   */
		SWAP(0x1B49),   				/* a.-b.  idProduct                  */	
		SWAP(0x0000),   				/* c.-d.  bcdDevice                  */
		0x01,   						/* e.	   iManufacturer             */
		0x02,    						/* f.	   iProduct				     */
		0x00,    						/* 10.    iSerialNumber              */
		0x01     						/* 11.    bNumConfigurations		 */
		
};

//***********************************************************************
//*										    							               *
//*	Routine  :  HS Device Qualifier                              		*
//*	Input		:  None              									         *
//*	Output	:  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************


HS_DEVICE_QUALIFIER	code HS_Device_Qualifier[] =
{
	
	sizeof(HS_DEVICE_QUALIFIER),	//length of HS Device Descriptor
		0x06,							//HS Device Qualifier Type
		SWAP(0x0200),					// USB 2.0 version
		0x00,							//Device class
		0x00,							//Device SubClass
		0x00, 							//Device Protocol Code
		0x40,							//Maximum Packet SIze for other speed
		0x01,							//Number of Other speed configurations
		0x00							//Reserved
		
};


//***********************************************************************
//*										    							               *
//*	Routine 	:  Standard Configuration Descriptor                		*
//*	Input		:  None              									         *
//*	Output   :  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************

CONFIGURATION_DESCRIPTOR	code	Standard_Config_Descriptor[] =
{
	
	sizeof(CONFIGURATION_DESCRIPTOR),	//Length of the configuration Descriptor
		0x02,							 	//Configuration Descriptor
		SWAP(CONFIG_LENGTH),   			 	//Total length of the configurations,interface and class/endpoint
		0x01,							 	//No. of interface supported
		0x01,							 	//Configuration Value
		0x00,							 	//Index of string descriptor
		0xC0,							 	//Configurations Characteristic
		0x32							 	//Maximun Power
		
};


//***********************************************************************
//*										    							               *
//*	Routine 	:  Other speed Configuration Descriptor             		*
//*	Input		:  None              									         *
//*	Output	:  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************

OTHER_SPEED_CONFIG_DESCRIPTOR	code	Other_Speed_Config_Descriptor[] =
{
	
	sizeof(OTHER_SPEED_CONFIG_DESCRIPTOR),	//length of other speed configuration descriptor
		0x07,									//Other speed configuration Type
		SWAP(CONFIG_LENGTH),				//Total length
		0x01,									//No of interface supported
		0x01,									//Configuration Value
		0x00,									//Index of string descriptor
		0xC0,									//Configurations Characteristic
		0x32									//Maximun Power
		
};



//***********************************************************************
//*										    							               *
//*	Routine 	:  Standard Interface Descriptor                    		*
//*	Input		:  None              									         *
//*	Output	:  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************

INTERFACE_DESCRIPTOR	code	Bulk_Interface_Descriptor[] =
{
	
	sizeof(INTERFACE_DESCRIPTOR),	//Length of standard interface descriptor
		0x04,								//Standard Interface Type
		0x00,								//No of Interface
		0x00,								//Alternate Setting Selector
		0x04,								//No of Endpoints
		0x00,								//Interface Class
		0x00,								//ATAPI Interface Sub Class
		0x00,								//Bulk Only Interface Protocol
		0x00								//Index of interface string desriptor
};

INTERFACE_DESCRIPTOR	code	HS_Bulk_Interface_Descriptor[] =
{
	sizeof(INTERFACE_DESCRIPTOR),	//Length of standard interface descriptor
		0x04,								//Standard Interface Type
		0x00,								//No of Interface
		0x00,								//Alternate Setting Selector
		0x04,								//No of Endpoints
		0x00,								//Interface Class
		0x00,								//ATAPI Interface Sub Class
		0x00,								//Bulk Only Interface Protocol
		0x00								//Index of interface string desriptor
};


//***********************************************************************
//*										    							               *
//*	Routine 	:  Standard Endpoint Descriptor                    		*
//*	Input		:  None              									         *
//*	Output	:  None                                					   *
//*	Function	:  None                                      			   *
//*																		               *
//***********************************************************************

ENDPOINT_DESCRIPTOR	code	Bulk_Out_Descriptor[] =
{
	
	sizeof(ENDPOINT_DESCRIPTOR),	//Length of Standard Endpoint Descriptor
		0x05,								//Standard Endpoint Type
		0x02, 								//Set Bulk endpoint to 1 for ATAPI mode
		0x02,								//Endpoint Characteristic
		SWAP(0x0040),						//Endpoint Max Packet Size
		0x00								//Interval for Polling Endpoint for data transfer
		
};

ENDPOINT_DESCRIPTOR	code	Bulk_In_Descriptor[] =
{
	sizeof(ENDPOINT_DESCRIPTOR),	//Length of Standard Endpoint Descriptor
		0x05,								//Standard Endpoint Type
		0x82, 								//Set Bulk endpoint to 1 for ATAPI mode
		0x02,								//Endpoint Characteristic
		SWAP(0x0040),						//Endpoint Max Packet Size
		0x00								//Interval for Polling Endpoint for data transfer
		
};


ENDPOINT_DESCRIPTOR	code	HS_Bulk_Out_Descriptor[] =
{
	
	sizeof(ENDPOINT_DESCRIPTOR),	//Length of Standard Endpoint Descriptor
		0x05,								//Standard Endpoint Type
		0x02, 								//Set Bulk endpoint to 1 for ATAPI mode
		0x02,								//Endpoint Characteristic
		SWAP(0x0200),						//Endpoint Max Packet Size
		0x00								//Interval for Polling Endpoint for data transfer
		
};

ENDPOINT_DESCRIPTOR	code	HS_Bulk_In_Descriptor[] =
{
	sizeof(ENDPOINT_DESCRIPTOR),	//Length of Standard Endpoint Descriptor
		0x05,								//Standard Endpoint Type
		0x82, 								//Set Bulk endpoint to 1 for ATAPI mode
		0x02,								//Endpoint Characteristic
		SWAP(0x0200),						//Endpoint Max Packet Size
		0x00								//Interval for Polling Endpoint for data transfer
		
};


ENDPOINT_DESCRIPTOR	code	Int_Out_Descriptor[] =

⌨️ 快捷键说明

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