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

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

?? bulk_only.lst

?? 源碼 : KIEL C 單片機 : C8051F320 功能 : U盤 (64M) 關鍵字 : C8051F320,U盤,NANDFLASH,FAT,SCH 描述 : 源碼完全可運行
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V6.12  BULK_ONLY                                                              08/20/2006 19:41:23 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE BULK_ONLY
OBJECT MODULE PLACED IN Bulk_Only.OBJ
COMPILER INVOKED BY: C:\keil\C51\BIN\c51.exe Bulk_Only.c DB OE

stmt level    source

*** WARNING C500 IN LINE 1 OF BULK_ONLY.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
   1          #include "c8051F320.h"
   2          #include "stdio.h"
   3          #include "intrins.h"
   4          /////////////////////////////
   5          #include "Usb_FunDec.h"
   6          #include "Usb_Parameter.h"
   7          #include "Usb_Register.h"
   8          #include "Usb_Request.h"
   9          #include "Usb_SCSI_Descreptor.h"
  10          ///////////////////////////////////////////////////////////////////////////////////////////
  11          sbit    LED			= P0^0;		//LED控制腳
  12          // Bulk傳輸處理函數
  13          void Interpret_CBW(void);		// 解釋CBW命令
  14          void TransDataGoOn(void);		// 繼續傳輸
  15          void TransCSW(void);			// 發送CSW
  16          void Bulk_Receive_Data(void);	// 接收數據
  17          void Copy(unsigned char *PEnd,unsigned char *PSource,unsigned int num);	// 在Bulk_Out過程中將Bulk_Buffer中
             -的數據拷貝到Bulk_PACKET中
  18          // 外部函數調用
  19          extern void 			Flash_Read_Page(unsigned int BLockNum,unsigned char BlockPageNum,unsigned char *P,unsigned 
             -int Data_Length);
  20          extern unsigned char 	Flash_Write_Page(unsigned int BLockNum,unsigned char BlockPageNum,unsigned char *P,u
             -nsigned int Data_Length);
  21          extern unsigned char 	Flash_Erase_Block(unsigned int BlockNum);	
  22          // 外部變量
  23          extern unsigned char Ep_Status[3];
  24          // BUlk傳輸變量
  25          unsigned char Bulk_Status = BULK_IDLE;				// Bulk傳輸狀態
  26          unsigned char Bulk_CSW[13]={0x55,0x53,0x42,0x53,};
  27          xdata struct CBW
  28          {
  29          	unsigned char dCBWstagnature[4];
  30          	unsigned char dCBWTag[4];
  31          	unsigned char dCBWDataTransLength[4];
  32          	unsigned char bmCBWFlags;
  33          	unsigned char dCBWLun;
  34          	unsigned char dCBWCBLength;
  35          	unsigned char CBWCB[16];
  36          }Bulk_CBW;
  37          xdata unsigned char Bulk_PACKET[512];	// 讀寫FLASH時的數據緩沖區
  38          xdata unsigned char Bulk_Buffer[64];	// FIFO緩沖區
  39          unsigned int LBA=0;						// LBA
  40          unsigned int Transfer_Length=0;			// 要傳輸的長度,單位為扇區
  41          unsigned int nCurrentBlock=0;			// 當前的Block地址
  42          unsigned int nCurrentPage=0;			// 當前的Page地址
  43          unsigned char *pCurrentBuf;				// Bulk傳輸中的指針
  44          unsigned int nBufCount=0;				// FIFO讀寫過程中傳輸的數據量
  45          unsigned int nBegainPage=0;				// Bulk_Out傳輸中的開始Page地址
  46          /////////////////////////////////////////////////////////////////////////////////////////////			
  47          void Handle_In1()
  48          {
  49   1          unsigned char ControlReg;
  50   1         	UWrite_Byte(INDEX, 1);           
  51   1         	URead_Byte(EINCSRL, ControlReg); 
C51 COMPILER V6.12  BULK_ONLY                                                              08/20/2006 19:41:23 PAGE 2   

  52   1         	if (Ep_Status[1] == EP_HALT)         
  53   1         	{
  54   2            	UWrite_Byte(EINCSRL, rbInSDSTL);
  55   2         	}
  56   1         	else                                 
  57   1         	{
  58   2      		if (ControlReg & rbInSTSTL)       
  59   2            	{
  60   3               	UWrite_Byte(EINCSRL, rbInCLRDT);//清除SDSTL和STSTL,并將CLRDT寫1使toggle復位為0
  61   3            	}
  62   2      		if (ControlReg & rbInUNDRUN)      	
  63   2            	{
  64   3               	UWrite_Byte(EINCSRL, 0x00);		// 清除UNDRUN,注意toggle位不復位
  65   3            	}
  66   2      		if(!(ControlReg & rbInINPRDY))
  67   2      		{
  68   3      			switch(Bulk_Status)
  69   3      			{
  70   4      				case BULK_DATA_TRANS:	TransDataGoOn();	break;
  71   4      				case BULK_DATA_END:		TransCSW();			break;
  72   4      				default:									break;
  73   4      			} 
  74   3      		}                                      
  75   2         	}                                   
  76   1      }
  77          /////////////////////////////////////////////////////////////////////////////////////////////			
  78          // Handle_Out2
  79          void Handle_Out2()
  80          {
  81   1      	unsigned int   Count=0;
  82   1         	unsigned char  ControlReg;
  83   1         	UWrite_Byte(INDEX, 2);           		// Set index to endpoint 2 registers
  84   1         	URead_Byte(EOUTCSRL, ControlReg);
  85   1         	if (Ep_Status[2] == EP_HALT)         	// If endpoint is halted, send a stall
  86   1         	{
  87   2            	UWrite_Byte(EOUTCSRL, rbOutSDSTL);
  88   2      
  89   2         	}
  90   1      	else
  91   1      	{
  92   2      	    if (ControlReg & rbOutSTSTL)      	
  93   2      	    {
  94   3      	         UWrite_Byte(EOUTCSRL, rbOutCLRDT);	//清除SDSTL和STSTL,并將CLRDT寫1使toggle復位為0
  95   3      	    }
  96   2      		  	////////////////////////////////////////////////////////////////
  97   2      		if(ControlReg & rbOutOPRDY)
  98   2      		{
  99   3      			UWrite_Byte(INDEX, 2); 
 100   3      			URead_Byte(EOUTCNTL, Count);
 101   3      			Fifo_Read(FIFO_EP2, Count, Bulk_Buffer);
 102   3      			UWrite_Byte(INDEX, 2);           
 103   3      	      	UWrite_Byte(EOUTCSRL, 0);   	// Clear Out Packet ready bit
 104   3      			if((Bulk_Status !=BULK_DATA_RECIEVE) && (Bulk_Buffer[0]==0x55))
 105   3      			{
 106   4      				Interpret_CBW();
 107   4      			}	
 108   3      			else
 109   3      			{			
 110   4      				Bulk_Receive_Data();
 111   4      			}
 112   3      		}
 113   2      	}
C51 COMPILER V6.12  BULK_ONLY                                                              08/20/2006 19:41:23 PAGE 3   

 114   1      }
 115          ///////////////////////////////////////////////////////////////////////////////////////////////////
 116          void Interpret_CBW()
 117          {
 118   1      	unsigned char i=0;
 119   1      	Bulk_CSW[4] = Bulk_Buffer[4];
 120   1      	Bulk_CSW[5] = Bulk_Buffer[5];
 121   1      	Bulk_CSW[6] = Bulk_Buffer[6];
 122   1      	Bulk_CSW[7] = Bulk_Buffer[7];
 123   1      	for(i=0;i<12;i++)							//提取SCSI命令字
 124   1      	{
 125   2      		Bulk_CBW.CBWCB[i] = Bulk_Buffer[15+i];
 126   2      	}
 127   1      	switch(Bulk_CBW.CBWCB[0])
 128   1      	{
 129   2      		case INQUIRY:					SCSI_Inquiry();					break;
 130   2      		case MODE_SENSE:				SCSI_Mode_Sense();				break;
 131   2      		case READ10:					SCSI_Read10();					break;
 132   2      		case READ_CAPACITY: 			SCSI_Read_Capacity();			break;
 133   2      		case TEST_UNIT_READY: 			SCSI_Test_Unit_Ready();			break;
 134   2      		case VERIFY:					SCSI_Verify();					break;
 135   2      		case WRITE10: 					SCSI_Write10();					break;
 136   2      		case MEDIUM_REMOVAL: 			SCSI_Medium_Removal();			break;
 137   2      
 138   2      		case Vender_Order:				SCSI_Vender_Order();			break;
 139   2      		default:						SCSI_Reserved();				break;
 140   2      	}	
 141   1      }
 142          ///////////////////////////////////////////////////////////////////////////////////////////////////			
 143          void SCSI_Inquiry(void)
 144          {
 145   1      	if(Bulk_CBW.CBWCB[4]!=0)
 146   1      	{
 147   2      		Bulk_Status=BULK_DATA_END;
 148   2      		Fifo_Write(FIFO_EP1,sizeof(Device_InquiryData),Device_InquiryData);
 149   2      		UWrite_Byte(INDEX, 1);
 150   2      		UWrite_Byte(EINCSRL, rbInINPRDY);
 151   2      	}
 152   1      	else
 153   1      	{}
 154   1      }
 155          void SCSI_Mode_Sense(void)
 156          {
 157   1      	Bulk_Status=BULK_DATA_END;
 158   1      	Fifo_Write(FIFO_EP1,sizeof(Device_ModeSense),Device_ModeSense);
 159   1      	UWrite_Byte(INDEX, 1);
 160   1      	UWrite_Byte(EINCSRL, rbInINPRDY);
 161   1      }
 162          void SCSI_Read_Capacity(void)
 163          {
 164   1      	Bulk_Status=BULK_DATA_END;
 165   1      	Fifo_Write(FIFO_EP1,sizeof(Device_Capacity),Device_Capacity);
 166   1      	UWrite_Byte(INDEX, 1);
 167   1      	UWrite_Byte(EINCSRL, rbInINPRDY);
 168   1      }
 169          void SCSI_Vender_Order()
 170          {
 171   1      	Bulk_Status=BULK_DATA_END;
 172   1      	Fifo_Write(FIFO_EP1,sizeof(Vender_Order),Vender_Order);
*** WARNING C196 IN LINE 172 OF BULK_ONLY.C: mspace probably invalid
 173   1      	UWrite_Byte(INDEX, 1);
 174   1      	UWrite_Byte(EINCSRL, rbInINPRDY);
C51 COMPILER V6.12  BULK_ONLY                                                              08/20/2006 19:41:23 PAGE 4   

 175   1      }
 176          void SCSI_Test_Unit_Ready(void)
 177          {
 178   1      	TransCSW();
 179   1      }
 180          void SCSI_Medium_Removal(void)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品视频在线免费观看| 国产在线国偷精品产拍免费yy| 日韩精品一区国产麻豆| 欧美日韩综合不卡| 欧美性感一区二区三区| 欧美三级电影在线观看| 欧美日韩成人综合天天影院| 欧美理论电影在线| 欧美老女人第四色| 精品对白一区国产伦| 久久久精品欧美丰满| 中文字幕欧美区| 亚洲精品精品亚洲| 亚洲国产精品视频| 蜜桃91丨九色丨蝌蚪91桃色| 久久99精品国产.久久久久| 国产麻豆精品theporn| 丁香激情综合国产| 色欲综合视频天天天| 亚洲品质自拍视频| 欧美国产亚洲另类动漫| 国产精品二区一区二区aⅴ污介绍| 日本一区二区成人在线| 亚洲欧美成人一区二区三区| 亚洲综合一区二区精品导航| 麻豆一区二区99久久久久| 久久国产精品99精品国产| 国产69精品久久久久毛片| 欧美亚洲禁片免费| 久久久久久久久久久久久久久99| 国产精品天干天干在线综合| 亚洲综合丁香婷婷六月香| 日本欧美肥老太交大片| 高清不卡一区二区| 欧美肥妇bbw| 国产精品免费视频网站| 日本人妖一区二区| 成人国产精品免费观看视频| 欧美日本一区二区三区四区| 国产精品污网站| 日韩激情在线观看| 不卡一卡二卡三乱码免费网站| 精品视频1区2区3区| 国产日韩欧美a| 日欧美一区二区| 91亚洲永久精品| 欧美成人女星排行榜| 亚洲欧美国产高清| 国产成人免费av在线| 欧美精品色一区二区三区| 欧美韩国日本不卡| 蜜桃久久久久久久| 欧美人与性动xxxx| 一区二区欧美精品| 成人伦理片在线| 日韩欧美一区二区免费| 亚洲午夜一二三区视频| 成人成人成人在线视频| 精品国产伦一区二区三区免费| 夜夜爽夜夜爽精品视频| eeuss鲁片一区二区三区| 久久久久久久久97黄色工厂| 日本中文字幕一区二区视频| 色婷婷激情久久| 亚洲三级免费观看| 成人av资源站| 国产精品毛片无遮挡高清| 韩国女主播一区| 精品免费国产一区二区三区四区| 日韩极品在线观看| 6080yy午夜一二三区久久| 亚洲一区二区在线免费观看视频| a美女胸又www黄视频久久| 国产精品麻豆网站| jlzzjlzz亚洲女人18| 国产精品三级电影| 国产99久久久国产精品潘金网站| 久久一夜天堂av一区二区三区| 六月婷婷色综合| 欧美本精品男人aⅴ天堂| 日韩综合小视频| 日韩午夜激情免费电影| 久久精品99国产国产精| 91精品国产免费久久综合| 久久精品国产网站| 国产午夜精品福利| a亚洲天堂av| 亚洲一区二区三区在线播放| 欧美日本一区二区| 韩国理伦片一区二区三区在线播放| 欧美大尺度电影在线| 国产黄色精品网站| 亚洲天堂av老司机| 在线观看日韩电影| 丝袜国产日韩另类美女| 欧美不卡一二三| 成人丝袜视频网| 亚洲一区二区三区视频在线播放| 欧美日韩国产综合视频在线观看 | 久久一二三国产| 国产成人在线影院| 一区二区三区在线视频观看58| 欧美熟乱第一页| 久久66热偷产精品| 亚洲天天做日日做天天谢日日欢| 欧美在线999| 久久99国产精品免费| 日韩码欧中文字| 91麻豆精品国产无毒不卡在线观看 | 久久婷婷成人综合色| 成人av在线电影| 偷拍一区二区三区| 国产丝袜在线精品| 欧美日韩免费电影| 成人午夜激情在线| 天堂av在线一区| 18成人在线视频| 日韩视频中午一区| 91久久精品日日躁夜夜躁欧美| 蜜桃精品在线观看| 一区二区三区美女视频| 欧美精品一区男女天堂| 欧洲人成人精品| 国产传媒一区在线| 日韩av电影免费观看高清完整版| 18欧美乱大交hd1984| 26uuu欧美| 91精品国产麻豆国产自产在线| 成人免费电影视频| 精品一区二区三区香蕉蜜桃| 亚洲综合一二三区| 综合电影一区二区三区| 国产亚洲成av人在线观看导航 | 成人免费视频一区| 免费高清在线视频一区·| 亚洲乱码国产乱码精品精小说| 欧美大片顶级少妇| 91精品欧美一区二区三区综合在| av在线一区二区三区| 国产酒店精品激情| 久久精品国产秦先生| 日韩国产欧美在线播放| 亚洲国产综合在线| 亚洲精品水蜜桃| 依依成人精品视频| 日韩理论片在线| 国产精品不卡一区二区三区| 国产欧美精品一区aⅴ影院| 久久久影视传媒| 久久精品夜夜夜夜久久| 欧美大肚乱孕交hd孕妇| 精品国产一区二区三区四区四 | 亚洲成人av资源| 亚洲h动漫在线| 日本中文字幕一区二区有限公司| 午夜精品一区二区三区三上悠亚| 一区二区三区.www| 亚洲午夜精品17c| 日韩av中文字幕一区二区三区| 亚洲一区二区视频在线| 亚洲国产精品久久一线不卡| 亚洲mv大片欧洲mv大片精品| 五月天激情小说综合| 日韩制服丝袜av| 久久99久久99| 国产91高潮流白浆在线麻豆| 99re成人在线| 欧美色偷偷大香| 欧美一级艳片视频免费观看| 日韩三级在线观看| 中文字幕va一区二区三区| 亚洲人成在线播放网站岛国| 亚洲精品美国一| 久久精品国产**网站演员| 国产不卡免费视频| 日本福利一区二区| 欧美精品v日韩精品v韩国精品v| 精品国一区二区三区| 欧美国产一区视频在线观看| 一二三四区精品视频| 精品一区二区免费| 一本在线高清不卡dvd| 日韩欧美国产综合一区 | 97久久人人超碰| 欧美一区二区三区在线| 久久久久综合网| 亚洲在线视频免费观看| 国产真实乱对白精彩久久| 91在线观看污| 日韩欧美黄色影院| 一区二区三区在线观看视频 | 中文字幕中文在线不卡住| 亚洲777理论| 成人久久久精品乱码一区二区三区| 欧美在线影院一区二区| 欧美精品一区二区三区蜜桃视频| 亚洲免费大片在线观看| 国产一区二区三区综合| 欧美日韩黄视频| 综合激情成人伊人|