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

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

?? bulkloop.lst

?? 本函數是EZ_USB的固件函數框架,實現通過端點通信
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.02a   BULKLOOP                                                             02/27/2005 09:19:22 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE BULKLOOP
OBJECT MODULE PLACED IN bulkloop.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE bulkloop.c DEBUG OBJECTEXTEND

stmt level    source

   1          #pragma NOIV               // Do not generate interrupt vectors
   2          //-----------------------------------------------------------------------------
   3          //   File:      bulkloop.c
   4          //   Contents:   Hooks required to implement USB peripheral function.
   5          //
   6          //   Copyright (c) 2000 Cypress Semiconductor All rights reserved
   7          //-----------------------------------------------------------------------------
   8          #include "fx2.h"
   9          #include "fx2regs.h"
  10          #include "fx2sdly.h"            // SYNCDELAY macro
  11          
  12          extern BOOL GotSUD;             // Received setup data flag
  13          extern BOOL Sleep;
  14          extern BOOL Rwuen;
  15          extern BOOL Selfpwr;
  16          
  17          BYTE Configuration;             // Current configuration
  18          BYTE AlternateSetting;          // Alternate settings
  19          
  20          #define VR_NAKALL_ON    0xD0
  21          #define VR_NAKALL_OFF   0xD1
  22          
  23          //-----------------------------------------------------------------------------
  24          // Task Dispatcher hooks
  25          //   The following hooks are called by the task dispatcher.
  26          //-----------------------------------------------------------------------------
  27          
  28          void TD_Init(void)             // Called once at startup
  29          {
  30   1         // set the CPU clock to 48MHz
  31   1         CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;
  32   1      
  33   1         // set the slave FIFO interface to 48MHz
  34   1         IFCONFIG |= 0x40;
  35   1      
  36   1        // Registers which require a synchronization delay, see section 15.14
  37   1        // FIFORESET        FIFOPINPOLAR
  38   1        // INPKTEND         OUTPKTEND
  39   1        // EPxBCH:L         REVCTL
  40   1        // GPIFTCB3         GPIFTCB2
  41   1        // GPIFTCB1         GPIFTCB0
  42   1        // EPxFIFOPFH:L     EPxAUTOINLENH:L
  43   1        // EPxFIFOCFG       EPxGPIFFLGSEL
  44   1        // PINFLAGSxx       EPxFIFOIRQ
  45   1        // EPxFIFOIE        GPIFIRQ
  46   1        // GPIFIE           GPIFADRH:L
  47   1        // UDMACRCH:L       EPxGPIFTRIG
  48   1        // GPIFTRIG
  49   1        
  50   1        // Note: The pre-REVE EPxGPIFTCH/L register are affected, as well...
  51   1        //      ...these have been replaced by GPIFTC[B3:B0] registers
  52   1      
  53   1        // default: all endpoints have their VALID bit set
  54   1        // default: TYPE1 = 1 and TYPE0 = 0 --> BULK  
  55   1        // default: EP2 and EP4 DIR bits are 0 (OUT direction)
C51 COMPILER V7.02a   BULKLOOP                                                             02/27/2005 09:19:22 PAGE 2   

  56   1        // default: EP6 and EP8 DIR bits are 1 (IN direction)
  57   1        // default: EP2, EP4, EP6, and EP8 are double buffered
  58   1      
  59   1        // we are just using the default values, yes this is not necessary...
  60   1        EP1OUTCFG = 0xA0;
  61   1        EP1INCFG = 0xA0;
  62   1        SYNCDELAY;                    // see TRM section 15.14
  63   1        EP2CFG = 0xA2;
  64   1        SYNCDELAY;                    
  65   1        EP4CFG = 0xA0;
  66   1        SYNCDELAY;                    
  67   1        EP6CFG = 0xE2;
  68   1        SYNCDELAY;                    
  69   1        EP8CFG = 0xE0;
  70   1      
  71   1        // out endpoints do not come up armed
  72   1        
  73   1        // since the defaults are double buffered we must write dummy byte counts twice
  74   1        SYNCDELAY;                    
  75   1        EP2BCL = 0x80;                // arm EP2OUT by writing byte count w/skip.
  76   1        SYNCDELAY;                    
  77   1        EP2BCL = 0x80;
  78   1        SYNCDELAY;                    
  79   1        EP4BCL = 0x80;                // arm EP4OUT by writing byte count w/skip.
  80   1        SYNCDELAY;                    
  81   1        EP4BCL = 0x80;    
  82   1      
  83   1        // enable dual autopointer feature
  84   1        AUTOPTRSETUP |= 0x01;
  85   1      
  86   1        Rwuen = TRUE;                 // Enable remote-wakeup
  87   1      }
  88          
  89          
  90          void TD_Poll(void)              // Called repeatedly while the device is idle
  91          {
  92   1        WORD i;
  93   1        WORD count;
  94   1      
  95   1        if(!(EP2468STAT & bmEP2EMPTY))
  96   1        { // check EP2 EMPTY(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is empty
  97   2           if(!(EP2468STAT & bmEP6FULL))
  98   2           {  // check EP6 FULL(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is full
  99   3              APTR1H = MSB( &EP2FIFOBUF );
 100   3              APTR1L = LSB( &EP2FIFOBUF );
 101   3      
 102   3              AUTOPTRH2 = MSB( &EP6FIFOBUF );
 103   3              AUTOPTRL2 = LSB( &EP6FIFOBUF );
 104   3      
 105   3              count = (EP2BCH << 8) + EP2BCL;
 106   3      
 107   3              // loop EP2OUT buffer data to EP6IN
 108   3              for( i = 0x0000; i < count; i++ )
 109   3              {
 110   4                 // setup to transfer EP2OUT buffer to EP6IN buffer using AUTOPOINTER(s)
 111   4                 EXTAUTODAT2 = EXTAUTODAT1;
 112   4              }
 113   3              EP6BCH = EP2BCH;  
 114   3              SYNCDELAY;  
 115   3              EP6BCL = EP2BCL;        // arm EP6IN
 116   3              SYNCDELAY;                    
 117   3              EP2BCL = 0x80;          // re(arm) EP2OUT
C51 COMPILER V7.02a   BULKLOOP                                                             02/27/2005 09:19:22 PAGE 3   

 118   3           }
 119   2        }
 120   1      
 121   1        if(!(EP2468STAT & bmEP4EMPTY))
 122   1        { // check EP4 EMPTY(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is empty
 123   2           if(!(EP2468STAT & bmEP8FULL))
 124   2           {  // check EP8 FULL(busy) bit in EP2468STAT (SFR), core set's this bit when FIFO is full
 125   3              APTR1H = MSB( &EP4FIFOBUF );
 126   3              APTR1L = LSB( &EP4FIFOBUF );
 127   3      
 128   3              AUTOPTRH2 = MSB( &EP8FIFOBUF );
 129   3              AUTOPTRL2 = LSB( &EP8FIFOBUF );
 130   3      
 131   3              count = (EP4BCH << 8) + EP4BCL;
 132   3      
 133   3              // loop EP4OUT buffer data to EP8IN
 134   3              for( i = 0x0000; i < count; i++ )
 135   3              {
 136   4                 // setup to transfer EP4OUT buffer to EP8IN buffer using AUTOPOINTER(s)
 137   4                 EXTAUTODAT2 = EXTAUTODAT1;
 138   4              }
 139   3              EP8BCH = EP4BCH;  
 140   3              SYNCDELAY;  
 141   3              EP8BCL = EP4BCL;        // arm EP8IN
 142   3              SYNCDELAY;                    
 143   3              EP4BCL = 0x80;          // re(arm) EP4OUT
 144   3           }
 145   2        }
 146   1      }
 147          
 148          BOOL TD_Suspend(void)          // Called before the device goes into suspend mode
 149          {
 150   1         return(TRUE);
 151   1      }
 152          
 153          BOOL TD_Resume(void)          // Called after the device resumes
 154          {
 155   1         return(TRUE);
 156   1      }
 157          
 158          //-----------------------------------------------------------------------------
 159          // Device Request hooks
 160          //   The following hooks are called by the end point 0 device request parser.
 161          //-----------------------------------------------------------------------------
 162          
 163          BOOL DR_GetDescriptor(void)
 164          {
 165   1         return(TRUE);
 166   1      }
 167          
 168          BOOL DR_SetConfiguration(void)   // Called when a Set Configuration command is received
 169          {
 170   1         Configuration = SETUPDAT[2];
 171   1         return(TRUE);            // Handled by user code
 172   1      }
 173          
 174          BOOL DR_GetConfiguration(void)   // Called when a Get Configuration command is received
 175          {
 176   1         EP0BUF[0] = Configuration;
 177   1         EP0BCH = 0;
 178   1         EP0BCL = 1;
 179   1         return(TRUE);            // Handled by user code
C51 COMPILER V7.02a   BULKLOOP                                                             02/27/2005 09:19:22 PAGE 4   

 180   1      }
 181          
 182          BOOL DR_SetInterface(void)       // Called when a Set Interface command is received
 183          {
 184   1         AlternateSetting = SETUPDAT[2];
 185   1         return(TRUE);            // Handled by user code
 186   1      }
 187          
 188          BOOL DR_GetInterface(void)       // Called when a Set Interface command is received
 189          {
 190   1         EP0BUF[0] = AlternateSetting;
 191   1         EP0BCH = 0;
 192   1         EP0BCL = 1;
 193   1         return(TRUE);            // Handled by user code
 194   1      }
 195          
 196          BOOL DR_GetStatus(void)
 197          {
 198   1         return(TRUE);
 199   1      }
 200          
 201          BOOL DR_ClearFeature(void)
 202          {
 203   1         return(TRUE);
 204   1      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美mv和日韩mv国产网站| 99国产麻豆精品| 亚洲国产wwwccc36天堂| 18成人在线观看| 中文字幕一区视频| 亚洲另类在线一区| 亚洲h在线观看| 蜜臀av性久久久久蜜臀aⅴ| 日韩精品国产欧美| 久久国内精品自在自线400部| 久久电影国产免费久久电影| 国产精品亚洲一区二区三区在线| 国产剧情一区二区三区| 成人精品视频网站| 色综合久久九月婷婷色综合| 欧美精品一卡两卡| 欧美xxxx老人做受| 中文字幕在线不卡一区| 午夜精品成人在线视频| 麻豆91在线播放| 懂色av一区二区在线播放| 91丨国产丨九色丨pron| 欧美三级电影网站| 精品国产一区二区三区av性色| 中文字幕的久久| 亚洲一区视频在线| 国产尤物一区二区在线| 成人美女视频在线观看18| 欧美三级电影网站| 国产欧美视频一区二区| 夜夜爽夜夜爽精品视频| 久久成人久久爱| 91蜜桃在线观看| 精品久久久久久久久久久久久久久 | 综合激情成人伊人| 日韩成人免费在线| 成人国产精品免费网站| 91麻豆精品国产91久久久资源速度 | 国产精品嫩草99a| 五月婷婷激情综合| caoporm超碰国产精品| 日韩一区二区影院| 亚洲欧美一区二区三区久本道91 | 日本vs亚洲vs韩国一区三区| 成人午夜av电影| 欧美日韩在线播放| 国产精品卡一卡二| 国产一区欧美一区| 欧美日韩免费一区二区三区| 国产精品久线在线观看| 国内精品伊人久久久久影院对白| 91国偷自产一区二区三区成为亚洲经典| 日韩一区二区在线播放| 亚洲一区二区三区美女| 99re6这里只有精品视频在线观看| 日韩精品一区二区在线| 午夜激情综合网| 日本精品一区二区三区高清 | youjizz久久| 久久女同性恋中文字幕| 奇米色777欧美一区二区| 欧美三级视频在线| 亚洲麻豆国产自偷在线| caoporn国产一区二区| 欧美激情在线一区二区三区| 麻豆精品视频在线| 欧美成人猛片aaaaaaa| 日韩电影在线观看一区| 欧美精品一卡两卡| 日韩制服丝袜av| 欧美精品国产精品| 日韩高清不卡一区二区三区| 欧美日韩亚洲丝袜制服| 亚洲高清免费在线| 欧美精品在线观看一区二区| 石原莉奈在线亚洲二区| 欧美视频你懂的| 亚洲国产aⅴ天堂久久| 欧美日韩极品在线观看一区| 午夜a成v人精品| 欧美精品久久久久久久多人混战| 午夜亚洲福利老司机| 欧美电影在线免费观看| 青青草成人在线观看| 欧美zozo另类异族| 国产成人免费在线观看不卡| 欧美经典一区二区| 成人h版在线观看| 一区av在线播放| 欧美高清hd18日本| 激情图区综合网| 国产精品青草久久| 色婷婷av一区| 免费久久99精品国产| 久久久噜噜噜久久人人看 | 国产一区三区三区| 国产精品久久久久久久久免费桃花| av午夜一区麻豆| 亚洲国产cao| 久久久精品黄色| 欧美最新大片在线看 | 国产日韩精品一区二区浪潮av| 成人免费视频一区二区| 亚洲日穴在线视频| 欧美一区二区日韩一区二区| 国产成+人+日韩+欧美+亚洲| 亚洲成人av资源| 国产欧美一区二区精品性色超碰| 色婷婷综合五月| 国产综合色视频| 怡红院av一区二区三区| 精品国产乱码久久久久久久| 91色.com| 国产一区二区三区免费在线观看| 亚洲激情图片一区| 久久中文娱乐网| 欧美人牲a欧美精品| 懂色av一区二区三区免费观看 | 91视频在线观看免费| 裸体健美xxxx欧美裸体表演| 最新不卡av在线| 欧美xxxxxxxx| 欧美精品亚洲一区二区在线播放| 成人h动漫精品一区二区| 免费成人美女在线观看.| 亚洲愉拍自拍另类高清精品| 国产日韩精品一区二区三区| 日韩一区二区免费在线电影| 色嗨嗨av一区二区三区| 成人国产免费视频| 国内外精品视频| 久久精品久久久精品美女| 亚洲无人区一区| 亚洲精品国产一区二区精华液| 国产亚洲精品7777| 欧美成人女星排名| 欧美一区二区三区视频在线观看| 欧美性猛片aaaaaaa做受| 99精品偷自拍| 波多野结衣中文字幕一区| 国产成人高清在线| 九九**精品视频免费播放| 无吗不卡中文字幕| 亚洲大片精品永久免费| 亚洲一区免费观看| 亚洲一区二区视频在线| 一区二区三区资源| 亚洲精品成人a在线观看| 亚洲免费在线电影| 综合色中文字幕| 亚洲美女少妇撒尿| 亚洲一区二区三区三| 亚洲综合另类小说| 亚洲一区二区精品3399| 亚洲高清中文字幕| 免费看精品久久片| 国内精品国产成人| 国产精品一区二区你懂的| 国产成人aaa| 97超碰欧美中文字幕| 91免费看`日韩一区二区| 一本久久a久久免费精品不卡| 欧洲中文字幕精品| 欧美日韩国产123区| 欧美成人综合网站| 久久久夜色精品亚洲| 国产精品丝袜黑色高跟| 亚洲免费毛片网站| 午夜久久久久久久久久一区二区| 日韩高清在线一区| 国产不卡视频一区二区三区| 972aa.com艺术欧美| 欧美日韩国产天堂| 日韩欧美一级二级| 中文字幕av一区二区三区高| 亚洲免费观看高清完整版在线观看熊| 亚洲永久免费av| 久久99精品国产麻豆不卡| 国产福利一区二区三区视频 | 久久综合视频网| 中文字幕一区二区在线观看| 亚洲线精品一区二区三区 | 一区二区三区不卡视频在线观看| 亚瑟在线精品视频| 黄色精品一二区| 一本一道综合狠狠老| 精品欧美久久久| 亚洲少妇中出一区| 精品一区免费av| 在线观看日韩一区| 久久综合久久鬼色中文字| 亚洲欧美色图小说| 国产精品一区在线观看你懂的| 91视频国产观看| 久久精品一级爱片| 性欧美疯狂xxxxbbbb| av午夜精品一区二区三区| 欧美不卡一区二区三区| 樱花草国产18久久久久| 福利91精品一区二区三区|