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

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

?? usb.h

?? embedded usb protocol C program
?? H
?? 第 1 頁 / 共 2 頁
字號:
#ifndef __USB_H__
#define __USB_H__

#include "basetype.h"


extern volatile U8 		*downPt;
extern volatile U16 	checkSum;
extern volatile U32		USBdownloadAddress;
extern volatile U32 	downloadFileSize;
extern volatile U32		totalDLCnt;

void USB_download(void);

//////////////////////////////////////////////////////////////////////////////
//
//	File name: usb.h
 //	Description: 1.Define Data Type
//               2.Define for Bulk
//               3.Define Macro
///////////////////////////////////////////////////////////////////////////////
#define SINGLE_BLK		0
#define DOUBLE_BLK		1

// Endpoint transfer type
#define TF_TYPE_BULK			1
#define TF_TYPE_INTERRUPT		2 
#define TF_TYPE_ISOCHRONOUS		3 

// Endpoint or FIFO direction define
#define DIRECTION_IN_REG	1
#define DIRECTION_OUT_REG	0

#define MX_PA_SZ_Reg_8		0
#define MX_PA_SZ_Reg_16		1
#define MX_PA_SZ_Reg_32		2
#define MX_PA_SZ_Reg_64		3
#define MX_PA_SZ_Reg_128	4
#define MX_PA_SZ_Reg_256	5
#define MX_PA_SZ_Reg_512	6
#define MX_PA_SZ_Reg_1023	7

	#define EP_DBEN           	DOUBLE_BLK

#if 1
//#ifdef PX_BULK
#define EP1_TYPE    		TF_TYPE_BULK
#define EP1_DIR    			DIRECTION_IN_REG
#define EP1_MPACKET   		MX_PA_SZ_Reg_64

#define EP2_TYPE    		TF_TYPE_BULK
#define EP2_DIR    			DIRECTION_OUT_REG
#define EP2_MPACKET   		MX_PA_SZ_Reg_64

#define EP1_CFG	(EP1_TYPE<<5)|(EP1_DIR<<4)|(EP_DBEN<<3)|(EP1_MPACKET)
#define EP2_CFG	(EP2_TYPE<<5)|(EP2_DIR<<4)|(EP_DBEN<<3)|(EP2_MPACKET)
#else
#define EP1_TYPE    		TF_TYPE_INTERRUPT
#define EP1_DIR    			DIRECTION_IN_REG
#define EP1_MPACKET   		MX_PA_SZ_Reg_16
#define EP2_TYPE    		TF_TYPE_BULK
#define EP2_DIR    			DIRECTION_IN_REG
#define EP2_MPACKET   		MX_PA_SZ_Reg_64
#define EP3_TYPE    		TF_TYPE_BULK
#define EP3_DIR    			DIRECTION_OUT_REG
#define EP3_MPACKET   		MX_PA_SZ_Reg_64
#define EP4_TYPE    		TF_TYPE_BULK
#define EP4_DIR    			DIRECTION_IN_REG
#define EP4_MPACKET   		MX_PA_SZ_Reg_64
#define EP5_TYPE    		TF_TYPE_BULK
#define EP5_DIR    			DIRECTION_OUT_REG
#define EP5_MPACKET   		MX_PA_SZ_Reg_64

#define EP1_CFG	(EP1_TYPE<<5)|(EP1_DIR<<4)|(SINGLE_BLK<<3)|(EP1_MPACKET)
#define EP2_CFG	(EP2_TYPE<<5)|(EP2_DIR<<4)|(EP_DBEN<<3)|(EP2_MPACKET)
#define EP3_CFG	(EP3_TYPE<<5)|(EP3_DIR<<4)|(EP_DBEN<<3)|(EP3_MPACKET)
#define EP4_CFG	(EP4_TYPE<<5)|(EP4_DIR<<4)|(EP_DBEN<<3)|(EP4_MPACKET)
#define EP5_CFG	(EP5_TYPE<<5)|(EP5_DIR<<4)|(EP_DBEN<<3)|(EP5_MPACKET)
#endif

// Endpoint number define
#define EP0        0x00
#define EP1        0x01
#define EP2        0x02
#define EP3        0x03
#define EP4        0x04
#define EP5        0x05
#define EP6        0x06
#define EP7        0x07
#define EP8        0x08
#define EP9        0x09
#define EP10        0x10
#define EP11        0x11
#define EP12        0x12
#define EP13        0x13
#define EP14        0x14
#define EP15        0x15

//===================  1.Define Data Type  ===============================================================
//========================================================================================================

	#define MESS_ERROR		                 (0x01 << 0)
	#define MESS_WARNING	                 (0x01 << 1)
	#define MESS_INFO		                 (0x01 << 2)
	#define TRUE			                 1
	#define FALSE			                 0
	#define BIT0			                 0x00000001
	#define BIT1			                 0x00000002
	#define BIT2			                 0x00000004
	#define BIT3			                 0x00000008
	#define BIT4			                 0x00000010
	#define BIT5			                 0x00000020
	#define BIT6			                 0x00000040
	#define BIT7			                 0x00000080
	
	#define BIT8			                 0x00000100
	#define BIT9			                 0x00000200
	#define BIT10			                 0x00000400
	#define BIT11			                 0x00000800
	#define BIT12			                 0x00001000
	#define BIT13			                 0x00002000
	#define BIT14			                 0x00004000
	#define BIT15			                 0x00008000	
	
	#define BIT16			                 0x00010000
	#define BIT17			                 0x00020000
	#define BIT18			                 0x00040000
	#define BIT19			                 0x00080000
	#define BIT20			                 0x00100000
	#define BIT21			                 0x00200000
	#define BIT22			                 0x00400000
	#define BIT23			                 0x00800000	
	
	#define BIT24			                 0x01000000
	#define BIT25			                 0x02000000
	#define BIT26			                 0x04000000
	#define BIT27			                 0x08000000
	#define BIT28			                 0x10000000
	#define BIT29			                 0x20000000
	#define BIT30			                 0x40000000
	#define BIT31			                 0x80000000	
	
                                             
	#define mLowByte(u16)	                 ((U8)(u16	 ))
	#define mHighByte(u16)	                 ((U8)(u16 >> 8))

	////// Define USB defines//////
	// Table 9-5. Descriptor Types
	#define DT_DEVICE						 1
	#define DT_CONFIGURATION				 2
	#define DT_STRING						 3
	#define DT_INTERFACE					 4
	#define DT_ENDPOINT						 5
	#define DT_DEVICE_QUALIFIER				 6
	#define DT_OTHER_SPEED_CONFIGURATION	 7
	#define DT_INTERFACE_POWER				 8


	#define TEST_J			                 0x02
	#define TEST_K			                 0x04
	#define TEST_SE0_NAK	                 0x08
	#define TEST_PKY		                 0x10

//=================== 2.Define Macro =====================================================================
//========================================================================================================

	// Macro volatile

	#define USB_BASE_ADDRESS	                    0x60900000
	
	#define mbUSB(bOffset)	                       	*((volatile U8 *) ( USB_BASE_ADDRESS | bOffset))
	#define mwUSB(bOffset)	                       	*((volatile U16 *) ( USB_BASE_ADDRESS | bOffset))
	#define mdwUSB(bOffset)	                   		*((volatile U32 *) ( USB_BASE_ADDRESS | bOffset))

  //Offset:0x200(Device Status Register)
	#define mdw_StsCFGRd()		                   (mdwUSB(0x200)&BIT21)	
	#define mb_StsCFGSet()		                   (mbUSB(0x202) |=  BIT5)
	#define mb_StsCFGClr()		                   (mbUSB(0x202) &=  ~BIT5)
	#define mb_StsCNNSTSRd()	                   (mbUSB(0x202) & BIT4)
	#define mw_StsFRMNUMRd()	                   (((U16)(mdwUSB(0x200)>>8))&0x0FFF)
	#define mb_StsDEVADDRSet(bAddress)             (mbUSB(0x200)=(U8)bAddress) 

  //Offset:0x204(Device Major Interrupt Status)
	#define mdw_MajorIntStsSet(dwValue)            (mdwUSB(0x204)=(U32)dwValue)
	#define mdw_MajorIntStsRd()                    (mdwUSB(0x204))                                           
	#define mb_MajorIntSts_URSTClr()               (mbUSB(0x206)=BIT0)                                                           
	#define mdw_MajorIntSts_URSTRd()               (mdwUSB(0x204)&BIT16) 	
	#define mb_MajorIntSts_SUSPENDTClr()           (mbUSB(0x206)=BIT1) 
	#define mdw_MajorIntSts_SUSPEND_Rd()           (mdwUSB(0x204)&BIT17) 
    #define mdw_MajorIntSts_SOF_Rd()               (mdwUSB(0x204)&BIT18)                                                 
	#define mb_MajorIntSts_SOFTClr()               (mbUSB(0x206)=BIT2)                                                           

                                                     
  //Offset:0x208(Device Control Register)              

	#define mdw_Ctl_IE(dwValue)                    (mdwUSB(0x208)=dwValue) 
	#define mdw_Ctl_Rd()                           (mdwUSB(0x208))
	#define mw_Ctl_ED_IESet(wValue)                (mwUSB(0x208)|= (1<<wValue))
	#define mw_Ctl_ED_IEClr(wValue)                (mwUSB(0x208)&= ~((U16)(1<<wValue)))
 
    #define mb_Ctl_ED_IEByte1Set(bValue)           (mbUSB(0x208)|= (1<<bValue))
	#define mb_Ctl_ED_IEByte1Clr(bValue)           (mbUSB(0x208)&= ~((U8)(1<<bValue)))	
	
	#define mdw_Ctl_IE_URST_SET()                   (mdwUSB(0x208)|=BIT16) 
	#define mdw_Ctl_IE_URST_Clr()                   (mdwUSB(0x208)&=(~BIT16)) 	
	#define mdw_Ctl_IE_SUSPEND_SET()                (mdwUSB(0x208)|=BIT17) 
	#define mdw_Ctl_IE_SUSPEND_Clr()                (mdwUSB(0x208)&=(~BIT17)) 		
	#define mdw_Ctl_IE_SOF_SET()                 	(mdwUSB(0x208)|=BIT18) 
	#define mdw_Ctl_IE_SOF_Clr()                 	(mdwUSB(0x208)&=(~BIT18)) 	
	//BIT19 RESERVED
	#define mdw_Ctl_IE_SWRST_SET()                  (mdwUSB(0x208)|=BIT20) 
	#define mdw_Ctl_IE_SWRST_Clr()                  (mdwUSB(0x208)&=(~BIT20)) 	
	#define mdw_Ctl_IE_RWKP_Set()                   (mdwUSB(0x208)|=BIT28)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av免费网站| 2021中文字幕一区亚洲| 91精品国产综合久久久久久| 中文字幕精品—区二区四季| 日本aⅴ亚洲精品中文乱码| 成人免费黄色在线| 精品久久久久香蕉网| 亚洲一区二区五区| 成人午夜伦理影院| 久久午夜色播影院免费高清| 日韩av网站免费在线| 欧美特级限制片免费在线观看| 国产精品免费视频一区| 蜜臀av国产精品久久久久| 欧美日韩一卡二卡| 一区二区三区四区视频精品免费| 国产高清不卡一区| 久久综合久久99| 精品亚洲成a人| 日韩女优电影在线观看| 日韩高清不卡在线| 欧美美女直播网站| 亚洲第四色夜色| 在线中文字幕一区二区| 尤物av一区二区| 91小视频在线观看| 亚洲乱码国产乱码精品精小说| 北岛玲一区二区三区四区| 国产精品久久免费看| 成人精品视频网站| 国产精品久久久久婷婷| 波波电影院一区二区三区| 国产精品美女www爽爽爽| 国产成人午夜高潮毛片| 国产欧美一区二区精品性色超碰 | 国产麻豆一精品一av一免费 | 中文在线资源观看网站视频免费不卡| 老司机免费视频一区二区三区| 欧美日韩精品电影| 麻豆精品国产传媒mv男同| 欧美r级电影在线观看| 激情综合色综合久久| 久久蜜臀精品av| 成人综合婷婷国产精品久久免费| 国产精品美女久久久久久久久久久| 成人免费黄色在线| 夜夜亚洲天天久久| 日韩一级精品视频在线观看| 国产剧情一区二区| 中文字幕在线观看不卡| 欧美专区日韩专区| 看电视剧不卡顿的网站| 中文字幕欧美三区| 91福利在线导航| 久久精品理论片| 国产精品你懂的在线| 日本道在线观看一区二区| 午夜精品福利视频网站| 国产亚洲午夜高清国产拍精品 | 国产精品伦一区二区三级视频| 99精品热视频| 喷水一区二区三区| 国产精品入口麻豆九色| 欧美日韩一二区| 国产精品白丝av| 污片在线观看一区二区| 国产精品毛片a∨一区二区三区| 欧美亚洲另类激情小说| 久久精品999| 亚洲最色的网站| 国产亚洲短视频| 8x8x8国产精品| www.欧美.com| 国产一区二区三区av电影 | 另类的小说在线视频另类成人小视频在线| 日韩欧美国产一区二区三区| 9人人澡人人爽人人精品| 免费久久99精品国产| 中文字幕亚洲一区二区av在线| 91精品国产全国免费观看| a级精品国产片在线观看| 老司机免费视频一区二区三区| 一区二区三区产品免费精品久久75| 精品国产人成亚洲区| 欧美三级一区二区| 色综合中文字幕国产 | 久久午夜色播影院免费高清| 在线观看三级视频欧美| 大美女一区二区三区| 精品一区二区三区的国产在线播放| 亚洲老司机在线| 中文字幕乱码日本亚洲一区二区 | 国产精品私人影院| 精品国产一二三| 欧美一区二区黄| 欧美日韩一区二区三区视频| 91免费精品国自产拍在线不卡| 国产·精品毛片| 国产真实乱子伦精品视频| 理论片日本一区| 秋霞午夜鲁丝一区二区老狼| 亚洲成人一二三| 亚洲国产精品综合小说图片区| 亚洲欧美日韩系列| 日韩一区在线播放| 国产精品天美传媒| 一区免费观看视频| 亚洲欧美日本在线| 一区二区国产视频| 亚洲乱码中文字幕| 亚洲欧美日本在线| 亚洲一区二区中文在线| 亚洲午夜精品一区二区三区他趣| 综合久久综合久久| 一区二区三区四区亚洲| 亚洲一区二区三区激情| 五月激情丁香一区二区三区| 三级亚洲高清视频| 蜜桃视频在线观看一区二区| 美女被吸乳得到大胸91| 久久99精品久久久| 国产精品主播直播| 99久久精品免费| 在线亚洲人成电影网站色www| 欧美午夜精品久久久久久超碰| 欧美日韩午夜影院| 日韩欧美你懂的| 国产精品免费视频一区| 亚洲乱码国产乱码精品精98午夜 | 亚洲国产精品麻豆| 蜜桃av一区二区三区| 国产成人在线电影| 91天堂素人约啪| 欧美日韩国产综合久久 | 国产精品综合av一区二区国产馆| 国产成人av电影在线观看| 99re热视频这里只精品| 欧美日韩国产欧美日美国产精品| 日韩精品一区二区在线| 国产亚洲精品中文字幕| 亚洲精品自拍动漫在线| 久久精品国产亚洲一区二区三区| 国产69精品久久久久777| 欧美自拍偷拍午夜视频| 日韩女优制服丝袜电影| 中文字幕色av一区二区三区| 香蕉成人伊视频在线观看| 国产麻豆精品久久一二三| 91高清视频免费看| 26uuu精品一区二区| 一区二区三区四区av| 激情深爱一区二区| 欧美在线看片a免费观看| 精品国产乱码久久久久久牛牛| 亚洲欧洲制服丝袜| 国产在线国偷精品免费看| 91成人免费在线视频| 国产情人综合久久777777| 午夜视频一区在线观看| 国产成人精品影视| 欧美日韩国产不卡| 成人免费一区二区三区在线观看| 日韩和欧美一区二区| 99这里都是精品| 久久精品男人的天堂| 青草av.久久免费一区| 91麻豆精品秘密| 国产午夜亚洲精品理论片色戒| 午夜伊人狠狠久久| 99re成人在线| 国产亲近乱来精品视频 | 免费成人在线影院| 91国偷自产一区二区三区成为亚洲经典 | 成人午夜私人影院| 2020国产精品自拍| 美女网站视频久久| 欧美绝品在线观看成人午夜影视| 中文字幕欧美激情一区| 激情久久五月天| 欧美一区二区三区啪啪| 亚洲成人第一页| 色猫猫国产区一区二在线视频| 亚洲国产精品av| 国产91清纯白嫩初高中在线观看 | 国产精品久久久久久亚洲伦| 美女脱光内衣内裤视频久久影院| 欧美日韩国产在线观看| 亚洲精品国产一区二区三区四区在线| 国产成人午夜精品影院观看视频 | 日韩视频中午一区| 偷拍与自拍一区| 欧美日韩卡一卡二| 午夜一区二区三区视频| 欧美日韩国产高清一区二区| 亚洲精品日韩一| 在线观看亚洲a| 亚洲va欧美va人人爽午夜| 日本道精品一区二区三区| 一区二区高清视频在线观看| 欧美在线不卡视频|