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

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

?? usbvariables.h

?? MSP 430 計算機USB接口之間的通訊代碼
?? 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一区二区三区免费野_久草精品视频
一区二区三区四区激情| 国产日韩三级在线| 成人av电影在线| 国产美女娇喘av呻吟久久| 午夜欧美视频在线观看| 亚洲一区在线观看免费| 亚洲黄一区二区三区| 亚洲色图视频免费播放| 亚洲天堂久久久久久久| 亚洲自拍偷拍欧美| 亚洲高清免费在线| 日韩av中文在线观看| 免费观看成人av| 国模套图日韩精品一区二区 | 国产成人啪免费观看软件| 黄色小说综合网站| 国产不卡视频在线观看| 波多野结衣中文一区| 色综合久久中文字幕综合网| 一本色道久久综合狠狠躁的推荐| 在线看日韩精品电影| 91精品国产色综合久久ai换脸| 欧美日本一区二区三区| 精品国产网站在线观看| 欧美激情在线一区二区| 一区二区国产视频| 天堂久久一区二区三区| 国产福利一区二区三区| 91丨porny丨在线| 欧美一区二区视频在线观看2020 | 亚洲激情在线播放| 日本欧美加勒比视频| 国产在线精品一区在线观看麻豆| 成人自拍视频在线| 欧美乱妇20p| 国产精品色哟哟网站| 亚洲午夜在线观看视频在线| 久久精品久久精品| 91精品福利在线| 久久亚洲捆绑美女| 亚洲一区二区三区四区的| 日韩av不卡一区二区| 国产精品一区二区男女羞羞无遮挡 | 一本一道久久a久久精品| 91精品国产综合久久久久久久久久| 久久新电视剧免费观看| 亚洲精品va在线观看| 国产精品99久| 欧美视频精品在线观看| 日本一区二区三区视频视频| 亚洲国产美国国产综合一区二区| 国产精品一区一区| 日韩欧美一级特黄在线播放| 亚洲欧美国产三级| 国产suv一区二区三区88区| 在线播放欧美女士性生活| 中文字幕在线观看不卡| 韩日精品视频一区| 欧美二区在线观看| 亚洲高清三级视频| 99精品欧美一区二区蜜桃免费 | 中文无字幕一区二区三区| 日韩高清国产一区在线| 在线观看亚洲精品| 国产精品蜜臀在线观看| 国产毛片精品国产一区二区三区| 5月丁香婷婷综合| 亚瑟在线精品视频| 欧美自拍偷拍一区| 一区二区成人在线观看| av在线一区二区| 国产精品全国免费观看高清| 久久草av在线| 日韩一卡二卡三卡国产欧美| 日韩中文欧美在线| 337p亚洲精品色噜噜| 蜜桃精品视频在线观看| 91精品国产福利| 免费看日韩精品| 日韩情涩欧美日韩视频| 免费在线观看视频一区| 日韩欧美成人激情| 韩国三级电影一区二区| 久久欧美中文字幕| 国v精品久久久网| 中文字幕精品三区| 99re热视频这里只精品| 亚洲视频免费看| 色久综合一二码| 午夜视频在线观看一区二区| 欧美在线免费观看亚洲| 五月激情综合色| 2020国产精品自拍| 国产成+人+日韩+欧美+亚洲| 国产精品美女久久久久久久久| 91影院在线观看| 亚洲午夜久久久久久久久久久| 欧美视频在线一区二区三区 | 在线不卡欧美精品一区二区三区| 五月婷婷欧美视频| 欧美本精品男人aⅴ天堂| 狠狠色丁香婷婷综合| 综合久久久久久| 欧美色图激情小说| 国产综合成人久久大片91| 国产欧美精品区一区二区三区 | 欧美电影免费观看完整版| 国内成人自拍视频| 亚洲色图制服诱惑| 日韩一卡二卡三卡国产欧美| 粉嫩av亚洲一区二区图片| 亚洲精品久久久蜜桃| 精品欧美一区二区久久| 91丨porny丨国产入口| 视频一区二区三区中文字幕| 国产三级一区二区三区| 欧美日韩国产不卡| 国产91精品精华液一区二区三区| 亚洲影院理伦片| 国产视频一区不卡| 欧美日韩你懂得| 成人在线视频首页| 麻豆91在线播放免费| 亚洲色大成网站www久久九九| 精品国精品自拍自在线| 欧美综合天天夜夜久久| 国产91精品精华液一区二区三区 | 国产精品亚洲专一区二区三区| 亚洲欧美日韩在线| 久久在线观看免费| 91麻豆精品国产91久久久久久 | 欧美午夜一区二区三区免费大片| 国产真实乱对白精彩久久| 亚洲国产一区二区a毛片| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 午夜欧美在线一二页| 国产精品入口麻豆九色| 精品国产不卡一区二区三区| 精品视频一区三区九区| 97se狠狠狠综合亚洲狠狠| 国产91综合一区在线观看| 日本伊人精品一区二区三区观看方式| 亚洲欧洲精品天堂一级| 国产日产欧美一区| 久久免费视频一区| 精品久久一二三区| 日韩亚洲国产中文字幕欧美| 欧美男男青年gay1069videost| 色综合天天综合网天天看片| gogo大胆日本视频一区| 成熟亚洲日本毛茸茸凸凹| 国产伦理精品不卡| 国产精品中文欧美| 国产精品综合二区| 国产乱人伦偷精品视频免下载| 六月丁香婷婷久久| 精品一区二区三区免费观看| 蜜桃视频在线一区| 久久 天天综合| 精彩视频一区二区| 国产精品18久久久久久vr| 国产福利一区在线观看| 懂色av一区二区三区蜜臀| 不卡一区二区中文字幕| 色综合久久天天| 欧美性猛交一区二区三区精品| 欧美日韩亚洲高清一区二区| 欧美老肥妇做.爰bbww| 91精品国产一区二区三区蜜臀 | 国产一区二区看久久| 国产一区二区精品久久| 国产成人av电影在线| 色琪琪一区二区三区亚洲区| 在线观看免费成人| 日韩免费看的电影| 中国色在线观看另类| 亚洲黄色小视频| 免费在线成人网| 国产麻豆91精品| 91福利视频在线| 欧美一区二区高清| 国产欧美精品一区二区色综合 | 亚洲欧美日本韩国| 亚洲一区二区三区四区五区中文| 奇米影视一区二区三区| 成人在线视频一区二区| 欧美三级在线看| 国产亚洲成aⅴ人片在线观看| 亚洲男人天堂av网| 久久精品理论片| 在线亚洲免费视频| 日韩欧美色综合| 亚洲乱码中文字幕综合| 另类专区欧美蜜桃臀第一页| 99精品国产99久久久久久白柏| 欧美午夜不卡视频| 国产精品毛片久久久久久| 日韩高清不卡一区二区| 成人美女在线视频| 精品理论电影在线|