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

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

?? main.c

?? 基于AT89C5131和K9F5608的U盤程序代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
  else {WriteEpBulk(1, sizeof(B_Mode_Sense_ZERO), B_Mode_Sense_ZERO);}
}
///////////////////////////////////////////////////////////////////////////
void SCSI_Read_Format_Capacities()
{
  if(bulk_CBW.CBWCB[7]==0 && bulk_CBW.CBWCB[8]==0)return;
  WriteEpBulk(1, sizeof(B_Read_Format_capacities), B_Read_Format_capacities);
}
/////////////////////////////////////////////////////////////////////////
void SCSI_Read10()//FLASH讀處理函數
{
  unsigned char data i;
  unsigned char	Addr[4];
  unsigned char length;
  /*讀操作的起始地址*/
  Addr[2] = bulk_CBW.CBWCB[4];
  Addr[3] = bulk_CBW.CBWCB[5];
  /*讀操作的扇區長度*/
  length = bulk_CBW.CBWCB[8];
  while(length>0)
  {
  P5 = COMMAND;
  io_port1 = 0x00;//FLASH讀命令碼
  P5 = ADDRESS;
  io_port1 = 0;
  io_port1 = Addr[3];
  io_port1 = Addr[2];
  P5 = D_DATA;
  UEPNUM=0x01;
  UEPSTAX|=DIR;
  while(!(P5 & RB));
  /*讀取一個扇區的數據*/
  for(i=0;i<8;i++)
  {
  ReadFlash();
  UEPSTAX|=TXRDY;
  while(!(UEPSTAX&TXCMP));
  UEPSTAX&=(~(TXCMP));	  }
  io_port1 = INACTIVE;
  length--;	
  Addr[3]++;
 if(Addr[3]==255)
  {
  Addr[3]=0;
  Addr[2]++;
  }  
  }
  TransmitCSW();
}
/////////////////////////////////////////
void delay()
{
  unsigned char data i=100;
  while(i-->0);
}
/////////////////////////////////////////////
void SCSI_Write10()	//FLASH寫操作
{
   unsigned char addr[4];
   unsigned char data i=0,length=0,nBeginPage=0;
   /*開辟一個數據緩沖區*/
    P5 = COMMAND;
    io_port1 = 0x60;
    P5 = ADDRESS;
    io_port1 = BuffBlock;
	io_port1 = 0xff;
    P5 = COMMAND;						  
    io_port1 = 0xd0;
    P5 = D_DATA;
	delay();
    while(!(P5 & RB));
   /*得到寫操作的參數--起始扇區號、扇區長度*/
	addr[2] = bulk_CBW.CBWCB[4];
	addr[3] = bulk_CBW.CBWCB[5];
	length = bulk_CBW.CBWCB[8];	
	nBeginPage = addr[3]&0x1f;
   /*把寫操作扇區對應的塊的數據COPY到緩沖區*/
	UEPNUM = 0x02;	
	delay();
	while(!(P5 & RB)); 
    if(nBeginPage>0)
	  {
	     for(i=0;i<nBeginPage;i++)
		   { 
			  P5 = COMMAND;
			  io_port1 = 0x00;
			  P5 = ADDRESS;
              io_port1 = 0;					 //A0-A7
              io_port1 = (addr[3]&0xe0)|i; 	 //A9-A16
	          io_port1 = addr[2]; 			 //A17-A24 
			  P5 = D_DATA;
              delay();
		      while(!(P5 & RB)); 

			  P5 = COMMAND;
			  io_port1 = 0x8a;
			  P5 = ADDRESS;
              io_port1 = 0;					        
     		  io_port1 = BuffBlock|i;
	          io_port1 = 0xff; 				        
			  P5 = D_DATA;
			  delay();
		      while(!(P5 & RB));
		   }
		 nBeginPage=0;
	  }
	  /*數據先寫到緩沖區*/
	while(length>0)
	  {
	  	 P5 = COMMAND;
	     io_port1 = 0x80;//PAGE寫操作碼
	     P5 = ADDRESS;
	     io_port1 = 0;							  //A0-A7	 
         io_port1 = (addr[3]&0x1f)|BuffBlock;
		 io_port1 = 0xff;				 		  //A17-A24
		 P5 = D_DATA;
		 for(i=0;i<8;i++)
		   {
			  while (!(UEPINT & EP2));	
			  WriteFlash();
			  UEPSTAX &= 0xB9;
		   }
		 P5 = COMMAND;
		 io_port1 = 0x10;
		 P5 = D_DATA;
		 length--;	
		 delay();
		 while(!(P5 & RB));
		 if(((addr[3]&0x1f)==0x1f)||(length==0))
		   {
		   		 /*保存數據到緩沖區*/
	    for(i=((addr[3]&0x1f)+1);i<32;i++)
	       {
	         P5 = COMMAND;
		     io_port1 = 0x00;
		     P5 = ADDRESS;
             io_port1 = 0;						     //A0-A7  
             io_port1 = (addr[3]&0xe0)|i; 	     //A9-A16
	         io_port1 = addr[2]; 			     //A17-A24 
		     P5 = D_DATA;
		     delay();
		     while(!(P5 & RB));
             P5 = COMMAND;
            io_port1 = 0x8a;
             P5 = ADDRESS;
             io_port1 = 0;						        //A0-A7
      	   io_port1 = BuffBlock|i;
	         io_port1 = 0xff; 				            //A17-A24 
	         P5 = D_DATA;
	         delay();
	         while(!(P5 & RB));
	        }
			/*擦除要寫的數據塊*/
		   	  P5 = COMMAND;
              io_port1 = 0x60;				 //擦除當前block
              P5 = ADDRESS;
              io_port1 = addr[3];          //A9-A16
	          io_port1 = addr[2]; 		 //A17-A24 
              P5 = COMMAND;
              io_port1 = 0xd0;
              P5 = D_DATA;
			  delay();
		      while(!(P5 & RB));        //等待操作完成  
             /*把緩沖區的數據COPY到指定寫的扇區所在塊*/
			  for(i=0;i<32;i++)	
			    {
				   P5 = COMMAND;
				   io_port1 = 0x00;
			  	   P5 = ADDRESS;
                   io_port1 = 0;				                //A0-A7
				   io_port1 = BuffBlock|i; 
	               io_port1 = 0xff; 			                //A17-A24 
				   P5 = D_DATA;
				   delay();
		           while(!(P5 & RB)); 

				   P5 = COMMAND;
				   io_port1 = 0x8a;  
			  	   P5 = ADDRESS;
                   io_port1 = 0;						   //A0-A7
                   io_port1 = (addr[3]&0xe0)|i;      //A9-A16
	               io_port1 = addr[2]; 			   //A17-A24 
				   P5 = D_DATA;
				   delay();
		           while(!(P5 & RB));
  			    }

			  if(length>0)
			    {
				   P5 = COMMAND;
                   io_port1 = 0x60;
                   P5 = ADDRESS;
   
				   io_port1 = BuffBlock;
	               io_port1 = 0xff; 				           //A17-A24 
                   P5 = COMMAND;
                   io_port1 = 0xD0;
                   P5 = D_DATA;
				   delay();
				   while(!(P5 & RB));
				}
 		   }
		   addr[3]++;
		  if(addr[3]==255)
		  {
		  addr[2]++;
		  }
		  
	  }

	TransmitCSW();	
}	
//////////////////////////////////
void Ep2()//端口2中斷處理函數
{
  unsigned char data i;
  unsigned char data Buf[64];
  i = ReadEp(2,Buf);
  bulk_CSW[4] = Buf[4];  bulk_CSW[5] = Buf[5]; bulk_CSW[6] = Buf[6]; bulk_CSW[7] = Buf[7];
 for(i=0;i<12;i++) bulk_CBW.CBWCB[i] = Buf[i+15];
 switch(bulk_CBW.CBWCB[0])
  {
  case Inquiry			         :WriteEpBulk(1,36,B_InquiryData);break;
  case Mode_Sense			     :SCSI_Mode_Sense();              break;
  case Read10				     :SCSI_Read10();                  break;
  case Read_Capacity		     :WriteEpBulk(1, sizeof(B_Read_Capacity), B_Read_Capacity);break;
  case Read_Format_Capacities	 :SCSI_Read_Format_Capacities();  break;
  case Test_Unit_Ready	         :TransmitCSW();                  break;
  case Verify				     :TransmitCSW();                  break;
  case Write10			         :SCSI_Write10();                 break;
  case Medium_Removal		     :TransmitCSW();                  break;
  }
}
/////////////////////////////////////
void Flash_Reset(void)		                                     //flash reset
{ 
	unsigned int data i;
	P5 = COMMAND;                     
	io_port1 = 0xff;	                 //reset command
	for (i=0; i<3000; i++) ;	                                 //delay 	
}
////////////////////////////////////
void ReadFlash()	 //從FLASH讀取32個字節數據并保存在端口緩存
{
    int i;
	for(i=0;i<32;i++)
	{
	UEPDATX=io_port1;
	}
}
///////////////////////////////////
void WriteFlash()	 //從端口得到32個字節的數據寫到FLASH 
{
int i;
  for(i=0;i<32;i++)
  {
  io_port1=UEPDATX;
  
  } 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品国产更新| 99精品桃花视频在线观看| 国内精品写真在线观看| 成人午夜电影网站| 欧美一卡二卡在线| 亚洲另类在线一区| 国产一区 二区 三区一级| 色综合久久天天综合网| 欧美成人伊人久久综合网| 亚洲一区免费在线观看| 成人开心网精品视频| 337p亚洲精品色噜噜| 亚洲免费观看在线观看| 国产精品资源在线看| 欧美日韩欧美一区二区| 亚洲日本在线观看| 国产一区二区美女诱惑| 日韩欧美一级片| 一二三区精品福利视频| 91丨国产丨九色丨pron| 国产欧美精品在线观看| 久久97超碰国产精品超碰| 欧美精品18+| 亚洲高清不卡在线观看| 色婷婷综合在线| 亚洲丝袜美腿综合| www.欧美日韩国产在线| 欧美激情在线一区二区三区| 九九**精品视频免费播放| 欧美日韩国产精品成人| 性久久久久久久| 欧美乱熟臀69xxxxxx| 亚洲一区二区在线观看视频| 在线视频一区二区三区| 亚洲欧洲在线观看av| 99久久精品免费| 亚洲三级在线播放| 97se亚洲国产综合自在线不卡 | 成人av在线影院| 精品国精品自拍自在线| 久久国产精品色| 精品第一国产综合精品aⅴ| 久久成人精品无人区| 久久亚洲精品小早川怜子| 国产伦精品一区二区三区视频青涩 | 91精品91久久久中77777| 成人免费在线播放视频| 一本高清dvd不卡在线观看 | 日本一区二区三区高清不卡| 粉嫩aⅴ一区二区三区四区| 国产精品女人毛片| 色偷偷成人一区二区三区91 | 欧美天堂一区二区三区| 日本aⅴ免费视频一区二区三区| 91精品啪在线观看国产60岁| 精品一区二区在线看| 国产日本亚洲高清| 色综合久久精品| 日本aⅴ亚洲精品中文乱码| 精品国产乱码91久久久久久网站| 国产91丝袜在线播放| 亚洲日本va在线观看| 欧美精品一卡二卡| 激情综合网天天干| 1024精品合集| 日韩视频一区二区在线观看| 国产精品99久久久久久久vr| 一区二区三区蜜桃| 精品少妇一区二区三区视频免付费| 成人精品一区二区三区四区 | 欧美日产国产精品| 国产电影精品久久禁18| 亚洲第一久久影院| 国产三级精品视频| 在线看日韩精品电影| 麻豆精品久久久| 亚洲日本在线a| 久久久www免费人成精品| 在线观看不卡一区| 国产剧情av麻豆香蕉精品| 一区二区三区在线视频观看58 | 欧美日韩精品免费| 国产91精品露脸国语对白| 天天av天天翘天天综合网色鬼国产| 久久综合一区二区| 欧美日本国产视频| 91在线视频18| 国产经典欧美精品| 日本视频中文字幕一区二区三区| 亚洲婷婷综合久久一本伊一区 | 国产一区在线观看麻豆| 性感美女极品91精品| 亚洲视频在线观看三级| 久久综合久久鬼色中文字| 在线成人午夜影院| 日本韩国欧美一区二区三区| 成人黄色电影在线| 国产精品一区二区三区99| 日本91福利区| 天天影视色香欲综合网老头| 成人欧美一区二区三区白人| 国产视频在线观看一区二区三区| 欧美乱熟臀69xxxxxx| 欧美在线免费视屏| 在线看一区二区| 91麻豆精品在线观看| 成人国产在线观看| 大白屁股一区二区视频| 国产成人高清视频| 国产精品夜夜嗨| 国产很黄免费观看久久| 精一区二区三区| 精品亚洲成a人| 国产乱子轮精品视频| 精品一区二区三区的国产在线播放| 五月激情综合网| 日韩国产欧美视频| 男男视频亚洲欧美| 免费在线观看一区二区三区| 日韩av在线发布| 久久精品国产一区二区三| 久久99国内精品| 国产精品一区二区久久不卡 | 91在线视频播放| 天天影视涩香欲综合网 | 91麻豆自制传媒国产之光| 99久久精品一区| 在线视频观看一区| 欧美日韩国产另类不卡| 91精品国产综合久久精品app| 欧美精品日韩综合在线| 日韩视频在线你懂得| 国产精品综合一区二区三区| 欧美视频三区在线播放| 三级在线观看一区二区 | 国产精品不卡在线| 久久综合久久鬼色中文字| 欧美电影免费观看高清完整版在线| 成人深夜视频在线观看| 欧洲精品在线观看| 久久精品视频一区二区三区| 亚洲大片精品永久免费| 国产一区不卡精品| 日韩欧美国产小视频| 日韩伦理免费电影| 成人午夜免费电影| 国产精品夫妻自拍| 欧美疯狂做受xxxx富婆| 乱中年女人伦av一区二区| 国产精品网站一区| 91香蕉国产在线观看软件| 美女一区二区在线观看| 精品人在线二区三区| 成人av在线一区二区三区| 午夜久久久久久久久久一区二区| 欧美日韩不卡在线| 加勒比av一区二区| 欧美乱妇20p| 三级久久三级久久久| 欧美亚洲动漫制服丝袜| 亚洲日本一区二区| 波多野洁衣一区| 国产精品大尺度| 91在线视频官网| 国产精品美女久久久久aⅴ | 裸体一区二区三区| 99久久99久久免费精品蜜臀| 91精品国产综合久久久久| 中文字幕一区av| 国产激情精品久久久第一区二区 | 777奇米四色成人影色区| 精品国产露脸精彩对白| 亚洲国产精品麻豆| 欧美一区二区三区视频在线| 懂色一区二区三区免费观看| 亚洲欧美综合在线精品| 欧美日韩黄色一区二区| 无码av免费一区二区三区试看| 欧美人xxxx| 麻豆成人久久精品二区三区红 | 亚洲一区二区三区在线看| 91精品婷婷国产综合久久竹菊| 国产中文字幕精品| 天堂影院一区二区| 日韩久久免费av| 欧美人与禽zozo性伦| 91国产成人在线| 色诱视频网站一区| 欧美在线免费播放| 色噜噜狠狠成人网p站| 777奇米成人网| 2020国产精品久久精品美国| 国产日韩综合av| 国产精品网曝门| 亚洲一二三区视频在线观看| 久久精品国产**网站演员| 国产a久久麻豆| eeuss鲁片一区二区三区| 久久精品99久久久| 三级影片在线观看欧美日韩一区二区 |