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

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

?? et_easy_usb_bulk_usb_lib.c

?? ET44 Bulk transfer is a simple USB(bulk mode)device tester package. There are firmware, software and
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include <usb_reg.h>

//Use lib generator to create ET_Easy_usb_bulk_c_setting.h
#include "ET_Easy_usb_bulk_c_setting.h"
#include <interrupt.h>

#include <c_macro.h>

#include "ET_Easy_usb_bulk_usb_lib.h"

void UsbIntPre() using USBBANK
{
   if(_USB_AUTO_SET_BANK)
       M_BANK(USB_BANK);
 
   if(_USB_AUTO_STORE_IAP0)
   {
       STACK_IAP0 = IAP0;
   }  
}

// UsbInital() revised by USB_INITAL
void UsbInitial() using USBBANK
{
    // set iap0 auto inc 1 when iac0 is use
	IAPADR = 0x05;

    // enable usb function
    M_BS6(PRIE);
    
//    M_BANK(USB_BANK);    
//hub endpoint transmit: 0: not transmit yet  1:transmit ok, 

    M_BC3(HUB_STATUS);
	USB_STATUS = 0;
	STATUS_BUF = 0;
	A_INTERFACE = 0;

// enable embedd function interrupt
    EPINTE = 0x3f;
	M_NOP;

//_ENABLE USB Bus Reset Event 
	STAINTE = 0x01;
	M_NOP;

//Hub initilize: interrupt _ENABLE
	HINTE = 0xCF;
	M_NOP;



//Address clear  
	ADDRESS_BUFh = 0;
	ADDRESS_BUFf = 0;
	
	
	FAR = 0xFF;
	M_NOP;
	HAR = 0xFF;
	M_NOP;
	
//USB SPEED setting
    if(_USB_FULL_SPEED)	
       M_BS7(GCNTR);
    else
       M_BC7(GCNTR);
       
    M_NOP;
    
//Start transmition: plug-in    
    M_BS1(GCNTR);
        
    M_NOP;
    
    //. call macro  _ADD_USB_INITIAL_WORK_SUB      
    AddUsbInitialWorkSub();
    
    return;
  
}

//. RST_ISR
void Int_RstInte() interrupt INT_RSTINTE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
   
   

   // software reset usb device 
   M_BS0(GCNTR);
   M_NOP;

   // clear usb bus reset event detect

//**Remote-wakeup disable,power switch disable   
   
   //HGSR = 0;
   _asm
     MOV A,#0x00
     MOV _HGSR,A
   _endasm;  


   // set Hub address
//   HAR = 0x00;
   M_NOP;
   
   // usb device address
   HAR = 0;
   M_NOP;
   FAR = 0;
   M_NOP;
   
   STAINTR = 0xFE;//#0b11111110
   M_NOP;
  
   nAddrBuf = 0;
   HEP1_CNT = 0;
   USB_STATUS = 0;
   STATUS_BUF = 0;
   
   if(!_USB_HUB)
   {
      HAR = 127;
      M_NOP;
      M_BS5(HGSR);
      M_NOP;
      HPCONR = 145;//#0b10010001
      M_NOP;
      M_BC0(HPSCR1);
            
      M_NOP;
      M_BS5(GCNTR);
      M_NOP;
      HPCONR = 137; //#0b10001001
      M_NOP;
      M_BC4(HPSCR1);   
      M_NOP;
   }
   //. call macro _ADD_USB_BUS_RESET_SUB
   //AddUsbBusResetSub();

 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;        
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;  
}



//RX0_ISR 2004/01/27 Create by Brooklin
void Int_Int0Rxe(void) interrupt INT_INT0RXE using USBBANK
{
    if(_USB_AUTO_SET_BANK || _USB_AUTO_STORE_IAP0)
        UsbIntPre();
    
    if(M_ISBS0(EP0RXTR))    // JBS	EP0RXTR,OUT,f_out_package
    {//. f_out_package
        EP0RXTR = 0xFE; //#0b11111110
        M_NOP;
        //. JBC 	FC_STATUS,DATA_OUT,next_f_inout   					
        if(M_ISBC2(FC_STATUS))
            goto Next_F_Inout;
        else
        {
            M_BC2(FC_STATUS);   
            //macro  _ADD_USB_SET_REPORT_SUB
            AddUsbSetReportSub();  
            
            nwLength = 0;     
            //wLengthL = 0;
            //wLengthH = 0;
            
            //. next_f_inout
        }
    }
    //. f_setup_package
    else
    {
        if(M_ISBS1(EP0RXTR))
        {
            EP0RXTR = 0xFD; //#0b11111101        
        }
        else
        {
            EP0RXTR = 0xFB; //#0b11111011
        }

        _asm 
          NOP
          MOV A,#_bmRequestType
          MOV _IAP0,A
          NOP
        _endasm;

        
        while(M_ISBC3(IAP0))
        {
           IAC0 = EP0RXDAR;
        }

// replace wLengthH and wLengthL by nwLength 
//        if(!wLengthH && !wLengthL)
        if(!nwLength)
        {
           EP0TXCTR = 0;
           M_NOP;
        }    
        
        M_BC1(USB_STATUS);
        M_BC0(USB_STATUS);
        M_BC2(USB_STATUS);
        M_BC5(USB_STATUS);
        
//        _asm
//          MOV A,#_bmRequestType
//        _endasm;
        StageOne();
         
        if(M_ISBS0(USB_STATUS)) 
        {//.f_stall
           M_BS1(EP0RXCSR);
           M_NOP;
           M_BS1(EP0TXCSR); 
           M_NOP;
           goto Back_To_Mloop;       
        }    
    } 
 
 Next_F_Inout:   
   M_BC1(EP0RXCSR);
   M_NOP;
   M_BC1(EP0TXCSR);
   M_NOP;
   M_BS0(EP0RXCSR);
   M_NOP;
   M_BS0(EP0TXCSR); 
  // BACK_TO_MLOOP
 Back_To_Mloop: 
   


   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;        
}


//. IN0_ISR
void Int_Int0Ine(void) interrupt INT_INT0INE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
      
 //Clear interrupt INT_flag   
   EPINTR = 251;//#0b11111011
   M_NOP;

   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;  
}




//. TX0_ISR
void Int_Int0Txe(void) interrupt INT_INT0TXE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
 //Clear interrupt INT_flag   
   EPINTR = 253;//#0b11111101
   M_NOP;
   
   FAR = ADDRESS_BUFf;
   M_NOP;
   if(!TBLL)
   {//. exit_tx01
      EP0TXCTR=0;
      M_NOP;
   }
   else if(wLengthH)
   {//. TX0_ISR1
      if(M_ISBS5(FC_STATUS))
      {//. USB_GET_REPORT_SUB
       //. call macro  _ADD_USB_GET_REPORT_EXP_SUB
         AddUsbGetReportExpSub();
      }
      else
      {
         nTable = nRomAdr;
         //HTBL = ROMADRH;
         //LTBL = ROMADRL;
         M_NOP;
         fTransmitTable();
      }  
   }

 Next_F_Inout:   
   M_BC1(EP0RXCSR);
   M_NOP;
   M_BC1(EP0TXCSR);
   M_NOP;
   M_BS0(EP0RXCSR);
   M_NOP;
   M_BS0(EP0TXCSR); 
}

//. EP1_ISR
void Int_Int1e() interrupt INT_INT1E using USBBANK
{
   //UsbIntPre();
   //M_BC1(PORTB);
   EPINTR = 247; // #0b11110111
   M_NOP;
   //. call macro _ADD_USB_EP1_SUB
   AddUsbEp1Sub();

 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
  
      
   return;  
}



//. EP2_ISR
void Int_Int2e() interrupt INT_INT2E using USBBANK
{
   UsbIntPre();
   EPINTR = 239; // #0b11101111
   M_NOP;
   //. call macro _ADD_USB_EP2_SUB
   AddUsbEp2Sub();


 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return; 
}




//. EP3_ISR
void Int_Int3e() interrupt INT_INT3E using USBBANK
{
   UsbIntPre();
   EPINTR = 223; // #0b11011111
   M_NOP;
   //. call macro _ADD_USB_EP3_SUB
   AddUsbEp3Sub();


 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return; 
}



//. IDLE_ISR
void Int_IdleInte() interrupt INT_IDLEINTE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();

   STAINTE = 0x0F;
   M_NOP;

   STAINTR = 253; //#0b11111101
   M_NOP;
  
   M_BS2(GCNTR);
   M_NOP;
   
   //. call macro _ADD_USB_IDLE_INT_SUB
   AddUsbIdleIntSub();
   
 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;

   return;    

}



//. RESUME_WAKEUP_ISR
void Int_FrwpInte() interrupt INT_FRWPINTE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
   if(M_ISBC2(STAINTR))
   {
      STAINTE = 7;
      M_NOP;
      //. call macro _ADD_USB_WAKEUP_INT_SUB
      AddUsbWakeup();
   }
   else
   {
      STAINTE = 0x0B;
      M_NOP;
      //. call macro _ADD_USB_WAKEUP_INT_SUB
      AddUsbWakeup();         
   }
   
 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;    

}

//. HRX0_ISR
void Int_Hint0Rxe() interrupt INT_HINT0RXE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
   if(M_ISBC0(HEP0RXTR))
   {//. h_setup_package
      if(M_ISBS1(HEP0RXTR))
         HEP0RXTR = 253;// #0b11111101
      else
         HEP0RXTR = 251;// #0b11111011
      M_NOP;
      
      _asm
        MOV A,#_HbmRequestType
        MOV _IAP0,A
        NOP
      _endasm;
      
      while(M_ISBC3(IAP0))
      {//. hReceiveCommand
         IAC0 = HEP0RXDAR;      
      }
      
      if(!nHwLength)
      {
         HEP0TXCTR = 0;
         M_NOP;
      }   
         
      
      //. skip_hub_nodata_set
      M_BC1(USB_STATUS);
      M_BC0(USB_STATUS);
      
      //_asm 
      //  MOV A,#_HbmRequestType
      //_endasm;
      StageOne();
      if(M_ISBS0(USB_STATUS))  
      {//. h_stall
         M_BS1(HEP0RXCSR);
         M_NOP;
         M_BS1(HEP0TXCSR);
         M_NOP;
      }
      else
      {//. next_h_inout
         goto Next_H_Inout;
      }
   }
   else
   {//. h_out_package
      HEP0RXTR = 254; //#0b11111110
      M_NOP;      
   }
   
 Next_H_Inout:   
   M_BC1(HEP0RXCSR);
   M_NOP;
   M_BC1(HEP0TXCSR);
   M_NOP;
   M_BC0(HEP0RXCSR);
   M_NOP;
   M_BC0(HEP0TXCSR);
   M_NOP;      

 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;
}

//. HIN0_ISR
void Int_Hint0Ine() interrupt INT_HINT0INE using USBBANK
{
   if(_USB_AUTO_SET_BANK ||_USB_AUTO_STORE_IAP0)
      UsbIntPre();
   
   HINTR = 251;// #0b11111011
   M_NOP;
   

 Back_To_Mloop: 
   if(_USB_AUTO_STORE_IAP0)
   {
      IAP0=STACK_IAP0;
      M_NOP;            
   }
   if(_USB_DIS_ANO_INT)
      M_ENI;
   return;
         

}

//. HTX0_ISR

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91小视频免费观看| 日韩视频免费直播| 9191久久久久久久久久久| 久久亚洲精品小早川怜子| ㊣最新国产の精品bt伙计久久| 爽好多水快深点欧美视频| 成人免费福利片| 精品区一区二区| 亚洲高清一区二区三区| 99精品国产视频| 久久久久久麻豆| 蜜臀91精品一区二区三区| 在线看国产一区二区| 中文久久乱码一区二区| 美腿丝袜在线亚洲一区| 欧美日韩国产另类一区| 久久国产福利国产秒拍| 欧美日韩精品系列| 一区二区三区毛片| 99久久久精品| 国产女人18水真多18精品一级做| 麻豆精品视频在线观看免费| 欧美日本免费一区二区三区| 亚洲人成网站影音先锋播放| 成人黄色av网站在线| 国产色产综合色产在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 中文字幕免费不卡| 国产尤物一区二区在线| 精品剧情v国产在线观看在线| 丝袜美腿亚洲综合| 制服丝袜中文字幕一区| 亚洲成人免费影院| 欧美日韩一区二区在线观看| 一区二区三区在线视频免费观看| 色婷婷激情综合| 亚洲欧美日本韩国| 日本乱人伦aⅴ精品| 一二三区精品福利视频| 欧美午夜不卡在线观看免费| 亚洲自拍另类综合| 欧美三级电影网| 喷水一区二区三区| 精品成人在线观看| 风间由美一区二区av101| 久久久国产一区二区三区四区小说| 国产一区二区影院| 国产精品卡一卡二| 欧美午夜视频网站| 麻豆精品新av中文字幕| 国产日韩av一区二区| 91在线视频观看| 午夜欧美在线一二页| 日韩欧美一级片| 成人午夜视频在线| 亚洲精品成人a在线观看| 欧美老肥妇做.爰bbww| 激情综合色综合久久综合| 国产清纯在线一区二区www| 成人app网站| 午夜精品一区二区三区免费视频 | 亚洲国产三级在线| 欧美成人精品高清在线播放| 粗大黑人巨茎大战欧美成人| 一区二区三区丝袜| 久久婷婷国产综合精品青草| 成人国产精品免费网站| 午夜欧美大尺度福利影院在线看| 久久综合久久综合久久| 在线视频一区二区三区| 久久精品国产999大香线蕉| 日韩一区中文字幕| 欧美一区二区播放| 99久久国产免费看| 捆绑紧缚一区二区三区视频 | 成人午夜免费视频| 亚洲成av人片一区二区三区| 久久精品亚洲国产奇米99| 欧美性猛交xxxxxx富婆| 国产精品2024| 五月婷婷激情综合| 1区2区3区国产精品| 日韩女优毛片在线| 欧美午夜电影网| 成人三级伦理片| 久久99久久精品| 亚洲高清在线精品| 亚洲乱码国产乱码精品精小说 | 国产精品久久久久aaaa| 欧美一区二区三区免费在线看| 99久久久精品| 国产精品18久久久久久久久| 日韩成人精品在线观看| 一区二区三区欧美视频| 亚洲国产精品二十页| 欧美一级理论片| 91国在线观看| 色综合视频一区二区三区高清| 国产一区二区三区综合| 蜜臀久久99精品久久久画质超高清 | 国产精品久久久久一区 | 国产精品毛片久久久久久| 欧美大片一区二区三区| 91精品综合久久久久久| 精品视频123区在线观看| 91日韩在线专区| 99视频精品全部免费在线| 国产精品中文字幕日韩精品 | 国产一区二区影院| 久草精品在线观看| 六月丁香婷婷久久| 久久精品国产**网站演员| 日本亚洲天堂网| 日韩vs国产vs欧美| 日本一不卡视频| 六月丁香婷婷色狠狠久久| 麻豆91精品91久久久的内涵| 奇米影视一区二区三区| 日本特黄久久久高潮| 午夜电影网亚洲视频| 亚洲成人激情综合网| 午夜欧美电影在线观看| 免费一级欧美片在线观看| 日本女人一区二区三区| 麻豆91精品视频| 国产成人欧美日韩在线电影 | 免费一级片91| 激情图片小说一区| 国产精品影视天天线| 国产91精品免费| 色综合久久九月婷婷色综合| 国产日韩成人精品| 亚洲精品大片www| 午夜成人免费视频| 久久精品国产成人一区二区三区| 激情都市一区二区| av中文字幕亚洲| 欧美日韩中文另类| 欧美va亚洲va| 日韩美女视频一区二区| 亚洲国产精品影院| 国内精品久久久久影院色| 成人av片在线观看| 欧美日韩国产乱码电影| 久久精品视频在线看| 亚洲欧美日韩一区二区三区在线观看 | 水蜜桃久久夜色精品一区的特点| 国产综合久久久久影院| 99久久精品一区二区| 日韩午夜中文字幕| 亚洲欧美在线视频观看| 青青青伊人色综合久久| 成人a区在线观看| 在线成人午夜影院| 国产精品天干天干在观线| 亚洲第一成人在线| 懂色av一区二区夜夜嗨| 欧美高清视频www夜色资源网| 国产欧美一区二区精品性| 一区二区三区中文字幕精品精品 | 7777女厕盗摄久久久| 欧美精品一区二区蜜臀亚洲| 亚洲激情在线播放| 国产乱一区二区| 欧美日韩高清一区二区不卡| 中文字幕欧美日韩一区| 日本亚洲一区二区| 欧美又粗又大又爽| 欧美激情艳妇裸体舞| 青青草成人在线观看| 色狠狠色噜噜噜综合网| 久久久噜噜噜久久中文字幕色伊伊 | 成人app软件下载大全免费| 中文字幕一区不卡| 国产精品一二三| 欧美一区二区三区在线观看视频| 亚洲欧美日韩国产成人精品影院| 国产乱码字幕精品高清av| 欧美一二三区精品| 午夜a成v人精品| 欧美午夜寂寞影院| 一区二区三区欧美| 91在线观看成人| 国产精品三级电影| 国产麻豆日韩欧美久久| 欧美mv日韩mv| 奇米色一区二区| 91麻豆精品国产91久久久资源速度| 亚洲欧美乱综合| 99re亚洲国产精品| 中文字幕久久午夜不卡| 国产精品1区2区3区在线观看| 精品国产免费人成电影在线观看四季 | 久久久99精品免费观看不卡| 激情丁香综合五月| 26uuu精品一区二区| 久久国产精品露脸对白| 26uuu久久综合| 国产真实乱对白精彩久久| 精品对白一区国产伦|