亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usbvariables.h

?? USB驅動--MSP430單片機 已經通過驗證
?? H
字號:
//這里定義了USB通信程序用到的所有常量數據


/******************數據類型宏定義******************/
/*
typedef unsigned char unsigned char;
typedef unsigned int unsigned int;*/
/*************數據移位的宏定義**************/
#define BIT(x)	(1 << (x))
/******************USB常量******************/
#define WR_N    0       //寫使能,P2.0
#define RD_N    1       //讀使能,P2.1
#define C_D     2       //命令數據位(1:命令,0:數據),P2.2
#define D12_CS  3       //USB片選位,P2.3   
#define D12_INT 5       //USB中斷,P2.5
#define USBINT_IE     P1IE
#define USBINT_IES    P1IES
#define USBINT_IFG    P1IFG
#define USBINT_SEL    P1SEL
#define USBINT_DDR    P1DIR
#define USBCTL_DDR    P2DIR
#define USBCTL_PORT   P2OUT
#define USBDAT_DDR    P5DIR
#define USBDAT_PORT   P5OUT
#define USBDAT_PIN    P5IN

#define CMD     0x01
#define DAT     0x00

#define UEN_GINT() _DINT()   //打開全局中斷
#define EN_GINT()  _EINT()   //關閉全局中斷

#define MSB(x)    (((x) >> 8) & 0xFF)

#define MAX_ENDPOINTS      (unsigned char)0x3

#define NOLAZYCLOCK			0x02
#define CLOCKRUNNING                    0x04
#define INTERRUPTMODE		        0x08
#define SOFTCONNECT			0x10
#define ENDP_NONISO			0x00
#define ENDP_ISOOUT			0x40
#define ENDP_ISOIN			0x80
#define ENDP_ISOIO			0xC0

#define CLOCK_12M			0x03
#define CLOCK_4M			0x0b
#define SETTOONE                        0x40
#define SOFONLY				0x80

#define NORMALPLUSSOF		        0x20
#define ENDP4INTENABLE		        0x40
#define ENDP5INTENABLE		        0x80

#define INT_ENDP0OUT		        0x01
#define INT_ENDP0IN			0x02
#define INT_ENDP1OUT	                0x04
#define INT_ENDP1IN			0x08
#define INT_ENDP2OUT		        0x10
#define INT_ENDP2IN			0x20
#define INT_BUSRESET		        0x40
#define INT_SUSPENDCHANGE	        0x80

#define SETUPPACKET			0x20
#define BUFFER0FULL			0x20
#define BUFFER1FULL			0x40

#define FULLEMPTY			0x01
#define STALL				0x02

#define USB_IDLE            0
#define USB_TRANSMIT        1
#define USB_RECEIVE         2

#define MAX_CTLDAT_SIZE	    8

#define USB_ENDPOINT_DIRECTION_MASK     0x80
#define USB_REQUEST_MASK         (unsigned char)0x0F
#define USB_REQUEST_TYPE_MASK    (unsigned char)0x60
#define USB_STANDARD_REQUEST     (unsigned char)0x00

#define DEVICE_ADDRESS_MASK      0x7F

#define USB_FEATURE_ENDPOINT_STALL          (unsigned int)0x0000
#define USB_FEATURE_REMOTE_WAKEUP           (unsigned int)0x0001

#define EP0_PACKET_SIZE    16
#define EP1_PACKET_SIZE    16
#define EP2_PACKET_SIZE    64

#define USB_RECIPIENT            (unsigned char)0x1F
#define USB_RECIPIENT_DEVICE     (unsigned char)0x00
#define USB_RECIPIENT_INTERFACE  (unsigned char)0x01
#define USB_RECIPIENT_ENDPOINT   (unsigned char)0x02

#define USB_DEVICE_DESCRIPTOR_TYPE                0x01
#define USB_CONFIGURATION_DESCRIPTOR_TYPE         0x02
#define USB_STRING_DESCRIPTOR_TYPE                0x03
#define USB_INTERFACE_DESCRIPTOR_TYPE             0x04
#define USB_ENDPOINT_DESCRIPTOR_TYPE              0x05
#define USB_POWER_DESCRIPTOR_TYPE                 0x06

/* 設備描述符: 測試設備類型 */
#define USB_CLASS_CODE_TEST_CLASS_DEVICE                    0xdc
/*****   D12 配置描述符長度  ******/
#define CONFIG_DESCRIPTOR_LENGTH    sizeof(USB_CONFIGURATION_DESCRIPTOR) \
									+ sizeof(USB_INTERFACE_DESCRIPTOR) \
									+ (NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR))
/*****   D12 接口描述符中: 除端點0的端點索引數目  ******/
#define NUM_ENDPOINTS	4
/* 設備描述符: 測試設備類型 */
#define USB_CLASS_CODE_TEST_CLASS_DEVICE                    0xdc

/* 接口描述符: 子類代碼 */
#define USB_SUBCLASS_CODE_TEST_CLASS_D12                    0xA0

/* 接口描述符: 協議代碼 */
#define USB_PROTOCOL_CODE_TEST_CLASS_D12                    0xB0
/*******************************************************
	      USB 端點描述符結構體: 端點屬性
********************************************************/
#define USB_ENDPOINT_TYPE_MASK                    0x03

#define USB_ENDPOINT_TYPE_CONTROL                 0x00
#define USB_ENDPOINT_TYPE_ISOCHRONOUS             0x01
#define USB_ENDPOINT_TYPE_BULK                    0x02
#define USB_ENDPOINT_TYPE_INTERRUPT               0x03

//這里定義了USB通信程序用到的所有全局變量
typedef struct flags
{
	unsigned char bus_reset;	        //總線復位標志
	unsigned char suspend;	                //掛起改變標志
	unsigned char setup_packet;	        //收到SETUP包
	unsigned char remote_wakeup;
	unsigned char in_isr;	                //USB中斷服務標志
	unsigned char control_state;	        //控制端點處理標志
									    //0: IDLE	   空閑狀態
										//1: TRANSMIT  數據發送狀態
										//2: RECEIVE   數據接收狀態
 	unsigned char configuration;	        //配置標志(0: 未配置; 1: 已經配置)		
	unsigned char ep1_rxdone;	        //端點 1 收到數據標志
	unsigned char ep2_rxdone;	        //端點 2 收到數據標志
	unsigned char ep2buf_full;	        //端點 2 接收雙緩沖區滿標志
} All_Usb_Flags;
All_Usb_Flags USB_FLAG={0,0,0,0,0,0,0,0,0,0};

typedef struct request
{
	unsigned char bmRequestType;
	unsigned char bRequest;
	unsigned int wValue;
	unsigned int wIndex;
	unsigned int wLength;
}DEVICE_REQUEST;

typedef struct xfer
{
	DEVICE_REQUEST DeviceRequest;
	unsigned int wLength;
	unsigned int wCount;
	unsigned char * pData;
	unsigned char dataBuffer[MAX_CTLDAT_SIZE];
}CONTROL_XFER;

typedef struct _USB_DEVICE_DESCRIPTOR 
{
    unsigned char bLength;
    unsigned char bDescriptorType;
    unsigned char bcdUSB0;
    unsigned char bcdUSB1;
    unsigned char bDeviceClass;
    unsigned char bDeviceSubClass;
    unsigned char bDeviceProtocol;
    unsigned char bMaxPacketSize0;
    unsigned char idVendor0;
    unsigned char idVendor1;
    unsigned char idProduct0;
    unsigned char idProduct1;
    unsigned char bcdDevice0;
    unsigned char bcdDevice1;
    unsigned char iManufacturer;
    unsigned char iProduct;
    unsigned char iSerialNumber;
    unsigned char bNumConfigurations;
} USB_DEVICE_DESCRIPTOR;

/***********  USB  接口描述符結構體  ****************/
typedef struct _USB_INTERFACE_DESCRIPTOR 
{
    unsigned char bLength;
    unsigned char bDescriptorType;
    unsigned char bInterfaceNumber;
    unsigned char bAlternateSetting;
    unsigned char bNumEndpoints;
    unsigned char bInterfaceClass;
    unsigned char bInterfaceSubClass;
    unsigned char bInterfaceProtocol;
    unsigned char iInterface;
} USB_INTERFACE_DESCRIPTOR;

/***********  USB  配置描述符結構體  ****************/
typedef struct _USB_CONFIGURATION_DESCRIPTOR 
{
    unsigned char bLength;
    unsigned char bDescriptorType;
    unsigned char wTotalLength0;
    unsigned char wTotalLength1;
    unsigned char bNumInterfaces;
    unsigned char bConfigurationValue;
    unsigned char iConfiguration;
    unsigned char bmAttributes;
    unsigned char MaxPower;
} USB_CONFIGURATION_DESCRIPTOR;

/***********  USB  端點描述符結構體  ****************/
typedef struct _USB_ENDPOINT_DESCRIPTOR 
{
    unsigned char bLength;
    unsigned char bDescriptorType;
    unsigned char bEndpointAddress;
    unsigned char bmAttributes;
    unsigned char wMaxPacketSize0;
    unsigned char wMaxPacketSize1;
    unsigned char bInterval;
} USB_ENDPOINT_DESCRIPTOR;

/***********  D12 USB 各種描述符結構體 *********************/
typedef struct _USB_DESCRIPTOR 
{
	USB_CONFIGURATION_DESCRIPTOR ConfigDescr;		//配置描述符
	USB_INTERFACE_DESCRIPTOR InterfaceDescr;		//接口描述符
	USB_ENDPOINT_DESCRIPTOR EP1_TXDescr;			//端點1輸入描述符
	USB_ENDPOINT_DESCRIPTOR EP1_RXDescr;			//端點1輸出描述符
	USB_ENDPOINT_DESCRIPTOR EP2_TXDescr;			//端點2輸入描述符
	USB_ENDPOINT_DESCRIPTOR EP2_RXDescr;			//端點2輸出描述符
} USB_DESCRIPTOR;

CONTROL_XFER ControlData;
unsigned char Ep1Buf[EP1_PACKET_SIZE];			        //端點1接收緩沖區
unsigned char Ep2Buf[EP2_PACKET_SIZE];				//端點2接收緩沖區

//設備描述符
USB_DEVICE_DESCRIPTOR DeviceDescr =
{
	sizeof(USB_DEVICE_DESCRIPTOR),				//設備描述符長度,= 12H
	USB_DEVICE_DESCRIPTOR_TYPE,				//設備描述符類型,= 01H
	0x00,0x10,						//協議版本,= 1.10
	USB_CLASS_CODE_TEST_CLASS_DEVICE,			//測試設備類型, = 0DCH	
	0, 0,							//設備子類,設備協議
	EP0_PACKET_SIZE,					//端點0最大數據包大小,= 10H	
	0x71,0x04,						//PHILIPS公司的設備ID	
	0x14,0x41,						//設備制造商定的產品ID
	0x00,0x01,						//設備系列號
	0, 0, 0,						//索引
	1							//可能的配置數
};

USB_DESCRIPTOR usb_descr =
{
//配置描述符
{
	sizeof(USB_CONFIGURATION_DESCRIPTOR),		        //配置描述符長度,= 09H
	USB_CONFIGURATION_DESCRIPTOR_TYPE,			//配置描述符類型,= 02H
	CONFIG_DESCRIPTOR_LENGTH,0x00,				//描述符總長度, = 002EH
	1,							//只支持1個接口
	1,							//配置值
	0,							//字符串描述符指針(無)
	0xa0,							//自供電,支持遠程喚醒
	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_DEVICE,			//測試設備類型,= 0DCH
	USB_SUBCLASS_CODE_TEST_CLASS_D12,			//子類代碼,= 0A0H	
	USB_PROTOCOL_CODE_TEST_CLASS_D12,			//協議代碼,= 0B0H
	0							//字符串描述符索引
},
//端點描述符,端點1輸入
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),			//端點描述符長度,= 07H
	USB_ENDPOINT_DESCRIPTOR_TYPE,				//端點描述符類型,= 05H
	0x81,							//端點1 IN
	USB_ENDPOINT_TYPE_INTERRUPT,				//中斷傳輸, = 03H
	EP1_PACKET_SIZE,0x00,					//端點最大包的大小,= 0010H
	1							//傳輸間隔時間,= 1ms
},
//端點描述符,端點1輸出
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),			//端點描述符長度,= 07H
	USB_ENDPOINT_DESCRIPTOR_TYPE,				//端點描述符類型,= 05H
	0x01,							//端點1 OUT
	USB_ENDPOINT_TYPE_INTERRUPT,				//中斷傳輸,= 03H
	EP1_PACKET_SIZE,0x00,					//端點最大包的大小,= 0010H
	1						        //傳輸間隔時間,= 1ms
},
//端點2輸入
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),			//端點描述符長度,= 07H
	USB_ENDPOINT_DESCRIPTOR_TYPE,				//端點描述符類型,= 05H
	0x82,							//端點2 OUT
	USB_ENDPOINT_TYPE_BULK,					//批量傳輸,= 02H
	EP2_PACKET_SIZE,0x00,					//端點最大包的大小,= 0040H
	1							//批量傳輸時該設置無效
},
//端點2輸出
{
	sizeof(USB_ENDPOINT_DESCRIPTOR),			//端點描述符長度,= 07H
	USB_ENDPOINT_DESCRIPTOR_TYPE,				//端點描述符類型,= 05H
	0x02,							//端點2 IN	
	USB_ENDPOINT_TYPE_BULK,					//批量傳輸,= 02H
	EP2_PACKET_SIZE,0x00,					//端點最大包的大小,= 0040H
	1							//批量傳輸時該設置無效
} 
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久不见久久见免费视频7| 亚洲激情中文1区| 国产精品欧美综合在线| 亚洲乱码一区二区三区在线观看| 亚洲中国最大av网站| 17c精品麻豆一区二区免费| 亚洲免费av观看| 美国十次综合导航| 不卡的av电影在线观看| 欧美日本一区二区三区四区| 欧美一区二区三区性视频| 欧美日韩国产小视频在线观看| 日韩视频一区二区| 欧美少妇一区二区| 国产午夜一区二区三区| 亚洲一级在线观看| 国产一区二区影院| 欧美日韩色综合| 国产色产综合色产在线视频| 亚洲国产精品精华液网站| 国产精品99久久久久久似苏梦涵| 欧美四级电影网| 国产精品入口麻豆原神| 全部av―极品视觉盛宴亚洲| 色88888久久久久久影院按摩| 精品国内二区三区| 亚洲成av人片www| 国产精品影视天天线| 宅男在线国产精品| 亚洲午夜影视影院在线观看| 大尺度一区二区| 欧美大片一区二区| 午夜激情一区二区三区| 91麻豆国产在线观看| 久久综合九色综合欧美亚洲| 日韩黄色免费电影| 91蜜桃婷婷狠狠久久综合9色| 欧美一区二区精品久久911| 亚洲乱码国产乱码精品精的特点| 青青草原综合久久大伊人精品 | 国产精品久久久久影院色老大| 日本午夜精品视频在线观看| 欧美一a一片一级一片| 国产精品二区一区二区aⅴ污介绍| 国产成人在线视频播放| 精品国产麻豆免费人成网站| 亚洲人成7777| 97久久超碰国产精品| 国产亚洲欧美一区在线观看| 国产在线日韩欧美| 精品成a人在线观看| 免费在线观看不卡| 欧美一区二区三区白人| 三级不卡在线观看| 欧美肥妇毛茸茸| 视频一区欧美日韩| 欧美大片日本大片免费观看| 精品一区二区三区免费毛片爱| 日韩精品一区二区三区蜜臀| 老司机精品视频一区二区三区| 欧美一区欧美二区| 偷拍自拍另类欧美| 日韩一二三区不卡| 国产精品亚洲а∨天堂免在线| 国产日产欧产精品推荐色 | 欧美一级高清大全免费观看| 日韩国产精品久久| 精品久久久久香蕉网| 国产精品18久久久久久久网站| 久久免费电影网| 不卡视频在线观看| 亚洲h在线观看| 欧美一区二区视频观看视频| 偷窥少妇高潮呻吟av久久免费| 欧美mv日韩mv国产网站| av网站免费线看精品| 亚洲国产精品一区二区久久| 精品久久久久久久久久久久久久久久久| 国产精品一区二区在线观看网站| 欧美va亚洲va国产综合| av在线一区二区| 无码av免费一区二区三区试看 | 91精品一区二区三区在线观看| 综合亚洲深深色噜噜狠狠网站| 91伊人久久大香线蕉| 亚洲国产欧美另类丝袜| 精品国产乱码久久久久久老虎| 99re热视频这里只精品 | 91精品国产麻豆国产自产在线| 国内精品免费在线观看| 亚洲欧美欧美一区二区三区| 欧美大片在线观看一区| 91搞黄在线观看| 黄页网站大全一区二区| 夜夜精品视频一区二区| 久久在线观看免费| 色88888久久久久久影院野外| 国产主播一区二区三区| 亚洲图片有声小说| 国产精品不卡在线观看| 日韩欧美色综合| 欧美三日本三级三级在线播放| 成人激情动漫在线观看| 免费观看成人av| 亚洲一区免费观看| 国产精品入口麻豆九色| 欧美精品一区二区三区高清aⅴ| 色天天综合色天天久久| 国产不卡在线播放| 精品亚洲aⅴ乱码一区二区三区| 亚洲激情图片qvod| 欧美激情综合五月色丁香小说| 日韩午夜电影av| 欧美亚洲国产怡红院影院| 国产精品 欧美精品| 久久国产成人午夜av影院| 午夜av一区二区三区| 一区二区三区蜜桃网| **性色生活片久久毛片| 国产欧美日本一区视频| 精品国产三级电影在线观看| 欧美一区二区不卡视频| 欧美日韩精品电影| 欧洲一区在线观看| 91老师国产黑色丝袜在线| 丰满少妇久久久久久久| 国产69精品一区二区亚洲孕妇| 国产专区欧美精品| 国产呦精品一区二区三区网站 | 久久久精品2019中文字幕之3| 欧美一级生活片| 欧美一区二区三区系列电影| 欧美日韩日本视频| 欧美日韩三级视频| 欧美精品乱码久久久久久按摩| 欧美日韩国产在线观看| 欧美日韩精品系列| 日韩亚洲国产中文字幕欧美| 日韩一区二区三区四区| 欧美图区在线视频| 91久久精品一区二区三| 在线观看成人小视频| 欧美日韩免费一区二区三区视频| 欧洲一区在线观看| 欧美丰满高潮xxxx喷水动漫| 日韩亚洲国产中文字幕欧美| 久久久天堂av| 国产精品污污网站在线观看| 国产精品女主播在线观看| 亚洲视频小说图片| 亚洲国产欧美日韩另类综合| 青青草原综合久久大伊人精品优势| 老司机免费视频一区二区| 懂色一区二区三区免费观看 | 九色综合狠狠综合久久| 国产一区二区三区蝌蚪| 成人av在线电影| 欧美日本一区二区| 26uuuu精品一区二区| 国产精品久久久一区麻豆最新章节| 一区二区三区在线高清| 蜜桃视频在线观看一区| 成人av电影在线播放| 精品视频一区二区不卡| 亚洲精品一区二区精华| 亚洲天堂网中文字| 日韩中文字幕麻豆| 丁香激情综合五月| 欧美人狂配大交3d怪物一区| 精品国产免费人成电影在线观看四季| 国产精品美女久久久久久2018 | 亚洲五月六月丁香激情| 国产真实精品久久二三区| 91国内精品野花午夜精品| 精品国产123| 亚洲国产精品久久人人爱蜜臀| 国产盗摄一区二区| 制服.丝袜.亚洲.中文.综合| 国产精品毛片无遮挡高清| 日欧美一区二区| 91在线无精精品入口| 日韩你懂的在线播放| 亚洲免费av在线| 国产精品123| 日韩欧美国产综合| 亚洲人成亚洲人成在线观看图片| 蜜臀久久99精品久久久久久9| 色综合天天综合| 国产午夜精品福利| 日韩电影在线免费观看| 91老司机福利 在线| 国产精品三级在线观看| 极品销魂美女一区二区三区| 欧美日韩精品久久久| 亚洲欧美电影院| 成人国产视频在线观看| 精品久久一区二区三区| 日韩电影在线一区二区三区| 欧美在线免费观看视频| 亚洲精品第一国产综合野|