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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? fx2hid.lst

?? 開(kāi)發(fā)EZUSB的FX2的固件程序的源代碼
?? LST
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
C51 COMPILER V7.50   FX2HID                                                                05/29/2006 13:56:14 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE FX2HID
OBJECT MODULE PLACED IN fx2hid.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE fx2hid.c DEBUG OBJECTEXTEND

line level    source

   1          #pragma NOIV               // Do not generate interrupt vectors
   2          /*
   3          -----------------------------------------------------------------------------
   4             File:      usbhidio_fx2.c
   5             Contents:   Hooks required to implement USB peripheral function.
   6          
   7             This is an adaptation of the Cypress example FX2_Hid_Keyboard.c,
   8             which was in turn adapted from Cypress's bulkloop.c 
   9             (and is available on request from Cypress).
  10          
  11             The application communicates with the usbhdio host applications available from:
  12           
  13             www.Lvr.com/hidpage.htm
  14          
  15             This code requires the full (not evaluation) version of the Keil compiler.
  16             Additions to the keyboard code are labeled with "usbhidio start" and "usbhidio end"
  17             Unneeded keyboard code is commented out.
  18            
  19             Copyright (c) 2000 Cypress Semiconductor All rights reserved
  20             with some changes by Jan Axelson (jan@Lvr.com) 
  21          -----------------------------------------------------------------------------
  22          */
  23          
  24          #include "fx2.h"
  25          #include "fx2regs.h"
  26          #include "fx2sdly.h"            // SYNCDELAY macro
  27          
  28          extern BOOL GotSUD;             // Received setup data flag
  29          extern BOOL Sleep;
  30          extern BOOL Rwuen;
  31          extern BOOL Selfpwr;
  32          
  33          #define min(a,b) (((a)<(b))?(a):(b))
  34          
  35          #define GD_HID  0x21
  36          #define GD_REPORT       0x22
  37          #define CR_SET_REPORT 0x09
  38          #define HID_OUTPUT_REPORT 2
  39          
  40          #define BTN_ADDR                0x71
  41          #define LED_ADDR                0x72
  42          
  43          #define PF_IDLE                 0
  44          #define PF_GETKEYS              1
  45          
  46          #define KEY_WAKEUP              0
  47          #define KEY_F1                  1
  48          #define KEY_F2                  2
  49          #define KEY_F3                  3
  50          
  51          WORD    pHIDDscr;
  52          WORD    pReportDscr;
  53          WORD    pReportDscrEnd;
  54          extern code HIDDscr;
  55          extern code  ReportDscr; 
C51 COMPILER V7.50   FX2HID                                                                05/29/2006 13:56:14 PAGE 2   

  56          extern code ReportDscrEnd;
  57          
  58          BYTE Configuration;             // Current configuration
  59          BYTE AlternateSetting;          // Alternate settings
  60          
  61          BYTE    Configuration;          // Current configuration
  62          BYTE    AlternateSetting;       // Alternate settings
  63          
  64          BYTE buttons;
  65          BYTE oldbuttons;
  66          BYTE leds = 0xFF;
  67          
  68          BYTE read_buttons (void);
  69          void write_leds (BYTE d);
  70          
  71          #define VR_NAKALL_ON    0xD0
  72          #define VR_NAKALL_OFF   0xD1
  73          //-----------------------------------------------------------------------------
  74          // Task Dispatcher hooks
  75          //   The following hooks are called by the task dispatcher.
  76          //-----------------------------------------------------------------------------
  77          
  78          // read_buttons and write_leds are unused by usbhidio
  79          
  80          BYTE read_buttons (void)
  81          {
  82   1              BYTE d;
  83   1      
  84   1              while (I2CS & 0x40);    //Wait for stop to be done
  85   1              I2CS = 0x80;                    //Set start condition
  86   1              I2DAT = BTN_ADDR;               //Write button address
  87   1              while (!(I2CS & 0x01)); //Wait for done
  88   1              I2CS = 0x20;                    //Set last read
  89   1              d = I2DAT;                              //Dummy read
  90   1              while (!(I2CS & 0x01)); //Wait for done
  91   1              I2CS = 0x40;                    //Set stop bit
  92   1              return(I2DAT);                  //Read the data
  93   1      }
  94          
  95          /*
  96          void write_leds (BYTE d)
  97          {
  98                  while (I2CS & 0x40);    //Wait for stop to be done
  99                  I2CS = 0x80;                    //Set start condition
 100                  I2DAT = LED_ADDR;               //Write led address
 101                  while (!(I2CS & 0x01)); //Wait for done
 102                  I2DAT = d;                              //Write data
 103                  while (!(I2CS & 0x01)); //Wait for done
 104                  I2CS = 0x40;                    //Set stop bit
 105          }
 106          
 107          */
 108          
 109          void TD_Init(void)             // Called once at startup
 110          {
 111   1         // set the CPU clock to 48MHz
 112   1         CPUCS = ((CPUCS & ~bmCLKSPD) | bmCLKSPD1) ;
 113   1      
 114   1         // set the slave FIFO interface to 48MHz
 115   1         IFCONFIG |= 0x40;
 116   1      
 117   1        // Registers which require a synchronization delay, see section 15.14
C51 COMPILER V7.50   FX2HID                                                                05/29/2006 13:56:14 PAGE 3   

 118   1        // FIFORESET        FIFOPINPOLAR
 119   1        // INPKTEND         OUTPKTEND
 120   1        // EPxBCH:L         REVCTL
 121   1        // GPIFTCB3         GPIFTCB2
 122   1        // GPIFTCB1         GPIFTCB0
 123   1        // EPxFIFOPFH:L     EPxAUTOINLENH:L
 124   1        // EPxFIFOCFG       EPxGPIFFLGSEL
 125   1        // PINFLAGSxx       EPxFIFOIRQ
 126   1        // EPxFIFOIE        GPIFIRQ
 127   1        // GPIFIE           GPIFADRH:L
 128   1        // UDMACRCH:L       EPxGPIFTRIG
 129   1        // GPIFTRIG
 130   1        
 131   1        // Note: The pre-REVE EPxGPIFTCH/L register are affected, as well...
 132   1        //      ...these have been replaced by GPIFTC[B3:B0] registers
 133   1      
 134   1        // default: all endpoints have their VALID bit set
 135   1        // default: TYPE1 = 1 and TYPE0 = 0 --> BULK  
 136   1        // default: EP2 and EP4 DIR bits are 0 (OUT direction)
 137   1        // default: EP6 and EP8 DIR bits are 1 (IN direction)
 138   1        // default: EP2, EP4, EP6, and EP8 are double buffered
 139   1      
 140   1        // we are just using the default values, yes this is not necessary...
 141   1        EP1OUTCFG = 0xA0;
 142   1        EP1INCFG = 0xA0;
 143   1        SYNCDELAY;                    // see TRM section 15.14
 144   1        EP2CFG = 0xA2;
 145   1        SYNCDELAY;                    
 146   1        EP4CFG = 0xA0;
 147   1        SYNCDELAY;                    
 148   1        EP6CFG = 0xE2;
 149   1        SYNCDELAY;                    
 150   1        EP8CFG = 0xE0;
 151   1      
 152   1        // out endpoints do not come up armed
 153   1        
 154   1        // since the defaults are double buffered we must write dummy byte counts twice
 155   1        SYNCDELAY;                    
 156   1        EP2BCL = 0x80;                // arm EP2OUT by writing byte count w/skip.
 157   1        SYNCDELAY;                    
 158   1        EP2BCL = 0x80;
 159   1        SYNCDELAY;                    
 160   1        EP4BCL = 0x80;                // arm EP4OUT by writing byte count w/skip.
 161   1        SYNCDELAY;                    
 162   1        EP4BCL = 0x80;    
 163   1      
 164   1        // enable dual autopointer feature
 165   1        AUTOPTRSETUP |= 0x01;
 166   1      
 167   1        Rwuen = TRUE;                 // Enable remote-wakeup
 168   1      
 169   1      }
 170          
 171          /*buttons &= 0x0F;
 172                                  IN2BUF[0] = 0x00;                       // clear button state as seen by the host
 173                                  if ((oldbuttons - buttons) != 0)        //Change in button state
 174                                  {
 175          
 176                                          if ( !(buttons & 1) )   // left click
 177                                          {
 178                                                  IN2BUF[0] |= 0x01;
 179                                          }
C51 COMPILER V7.50   FX2HID                                                                05/29/2006 13:56:14 PAGE 4   

 180                                          
 181                                          if ( !(buttons & 2) )   // right click
 182                                          {
 183                                                  IN2BUF[0] |= 0x02;
 184                                          }                       
 185          
 186                                          if (buttons & 4)        // Advance in x direction
 187                                                  IN2BUF[1] = 0x00;
 188                                          else
 189                                                  IN2BUF[1] = 0x0A;
 190          
 191                                          if (buttons & 8)        // Advance in y direction
 192                                                  IN2BUF[2] = 0x00;
 193                                          else
 194                                                  IN2BUF[2] = 0x0A;
 195                                  
 196                                          IN2BC = 3;
 197                                  }
 198                                  oldbuttons = buttons;
 199          
 200          */
 201          void TD_Poll(void)              // Called repeatedly while the device is idle
 202          {
 203   1              if( !(EP1INCS & 0x02) ) // Is the EP1INBUF available,
 204   1              {
 205   2      
 206   2      //              This keyboard code is unneeded
 207   2              
 208   2                  buttons = read_buttons();
 209   2                      if (buttons == read_buttons())  //Debounce
 210   2                      {
 211   3                              buttons &= 0x0F;
 212   3                      EP1INBUF[0] = 0;
 213   3                              if ((oldbuttons - buttons) != 0)        //Change in button state
 214   3                              {
 215   4                                      if (!(buttons & 1))     // left click
 216   4                                      {
 217   5                                              EP1INBUF[0]|= 0x01;
 218   5                                   }
 219   4                                      if (!(buttons & 2))     //// right click
 220   4                                      {
 221   5                                              EP1INBUF[0] |= 0x02;
 222   5                                       }
 223   4                                      if (buttons & 4)        //// Advance in x direction
 224   4                                              EP1INBUF[1] = 0;
 225   4                                      else
 226   4                                              EP1INBUF[1] = 0x0A;
 227   4                                      if (buttons & 8)        //// Advance in y direction
 228   4                                              EP1INBUF[2] = 0;
 229   4                                      else
 230   4                                              EP1INBUF[2] =0x0A;
 231   4                              
 232   4                                      EP1INBC = 3;
 233   4                              }
 234   3                              oldbuttons = buttons;
 235   3                      }
 236   2      
 237   2              }
 238   1      /*      if( !(EP1OUTCS & 0x02) )        // Is there something available in EP1OUTBUF
 239   1              {
 240   1      
 241   1      //              This keyboard code is unneeded by usbhidio
C51 COMPILER V7.50   FX2HID                                                                05/29/2006 13:56:14 PAGE 5   

 242   1      
 243   1                      leds = 0xFF;    //Turn all off
 244   1                      if (EP1OUTBUF[0] & 0x02)        //Caps
 245   1                              leds &= 0xBF;
 246   1                      if (EP1OUTBUF[0] & 0x01)        //Scroll
 247   1                              leds &= 0xF7;
 248   1                      if (EP1OUTBUF[0] & 0x04)        //Num
 249   1                              leds &= 0xFE;
 250   1                      write_leds (leds);
 251   1      
 252   1      
 253   1      // usbhidio code start
 254   1      
 255   1      // Copy bytes received on the OUT endpoint to the IN endpoint. 
 256   1      //              EP1INBUF[0] = EP1OUTBUF[0];
 257   1      //              EP1INBUF[1] = EP1OUTBUF[1];
 258   1      
 259   1      // Rearm the IN endpoint buffer to enable sending a report.
 260   1      // The value equals the report size.
 261   1      //              EP1INBC = 2;                    
 262   1      
 263   1      // usbhidiocode end
 264   1      
 265   1      //              EP1OUTBC = 0;                           //Rearm the OUT endpoint buffer to enable receiving a report.
 266   1      
 267   1              } */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕一区二区三| 最新中文字幕一区二区三区| 国产不卡视频在线观看| 一区二区三区四区在线免费观看| 91精品在线麻豆| 高清beeg欧美| 秋霞成人午夜伦在线观看| 欧美精彩视频一区二区三区| 欧美老肥妇做.爰bbww视频| 国产成人精品影院| 日韩成人一级大片| 亚洲欧美日韩中文播放 | 视频一区二区三区在线| 欧美国产综合色视频| 日韩精品自拍偷拍| 欧洲在线/亚洲| bt欧美亚洲午夜电影天堂| 蜜桃一区二区三区在线| 亚洲一区二区中文在线| 国产精品国产三级国产aⅴ原创| 日韩欧美国产麻豆| 欧美视频在线一区二区三区| av在线这里只有精品| 国产一区二区三区| 蜜臀久久99精品久久久久久9| 亚洲大片免费看| 亚洲日本免费电影| 中文字幕日本不卡| 欧美极品少妇xxxxⅹ高跟鞋| 精品国产免费人成在线观看| 91精品国产综合久久小美女| 在线观看国产一区二区| 一本久道久久综合中文字幕 | 亚洲黄网站在线观看| 国产精品久久久久天堂| 久久久国产精品麻豆| 日韩美女视频在线| 精品国精品自拍自在线| 日韩视频一区二区三区| 宅男噜噜噜66一区二区66| 欧美日韩黄色影视| 欧美日韩视频在线观看一区二区三区| 99精品视频在线播放观看| 不卡的电影网站| www.亚洲免费av| 99久久久精品| 91网站在线观看视频| 91美女片黄在线观看| 色一区在线观看| 欧美在线观看你懂的| 欧美午夜电影一区| 7777女厕盗摄久久久| 日韩视频免费观看高清完整版 | 丝袜脚交一区二区| 午夜激情一区二区| 日韩成人av影视| 美女被吸乳得到大胸91| 激情文学综合网| 国产成人日日夜夜| 91亚洲国产成人精品一区二三 | 91久久国产最好的精华液| 91色porny| 欧美日韩国产一区| 日韩欧美中文字幕精品| 久久亚洲影视婷婷| 欧美国产日韩精品免费观看| 国产精品国产自产拍高清av| 一区二区三区波多野结衣在线观看| 午夜精品成人在线| 国内精品不卡在线| 99久久99久久久精品齐齐| 色综合久久综合网97色综合 | 亚洲国产岛国毛片在线| 亚洲色图制服诱惑| 日韩成人伦理电影在线观看| 国产一区二区0| 色哟哟精品一区| 欧美哺乳videos| 国产精品久久久久久亚洲毛片| 一区二区三区不卡视频在线观看 | 95精品视频在线| 91超碰这里只有精品国产| 26uuu成人网一区二区三区| 中文天堂在线一区| 性做久久久久久久免费看| 精品一区二区在线播放| 95精品视频在线| 337p粉嫩大胆噜噜噜噜噜91av | 国产高清无密码一区二区三区| youjizz国产精品| 91精品欧美综合在线观看最新| 久久久精品黄色| 偷拍自拍另类欧美| 粉嫩13p一区二区三区| 欧美日韩亚洲另类| 国产精品麻豆视频| 免费高清视频精品| 91亚洲精华国产精华精华液| 精品日本一线二线三线不卡| 亚洲欧美日韩系列| 国产成人欧美日韩在线电影| 欧美日韩免费不卡视频一区二区三区| 精品成人在线观看| 亚洲国产视频直播| 成人av电影在线网| 欧美电影免费观看高清完整版在线观看| 中文字幕日本乱码精品影院| 久久99久久久久久久久久久| 欧美在线观看视频在线| 国产精品久久久久久亚洲伦| 极品美女销魂一区二区三区免费| 欧美中文字幕一二三区视频| 国产精品视频免费| 久久精品国产99久久6| 欧美色欧美亚洲另类二区| 国产精品福利一区二区| 国产综合色视频| 日韩一区二区在线看| 亚洲成人午夜电影| 91久久奴性调教| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 中文字幕一区二区三区精华液| 五月天欧美精品| 伦理电影国产精品| 9191精品国产综合久久久久久 | 亚洲一卡二卡三卡四卡无卡久久 | 日本中文字幕一区二区视频 | 粉嫩一区二区三区在线看| 91精品啪在线观看国产60岁| 亚洲三级视频在线观看| 国产成人综合在线| 日韩欧美亚洲一区二区| 亚洲成av人片一区二区三区| 99久久精品费精品国产一区二区| 久久精品日产第一区二区三区高清版 | 欧美成人bangbros| 亚洲午夜久久久久中文字幕久| 成人动漫中文字幕| 亚洲精品一线二线三线无人区| 午夜电影网亚洲视频| 欧美日韩精品福利| 亚洲午夜久久久久久久久久久| 99国产精品久久久久久久久久| 2023国产精品| 精品午夜久久福利影院| 精品欧美一区二区三区精品久久| 韩国v欧美v日本v亚洲v| 欧美精选一区二区| 亚洲第一搞黄网站| 色欧美88888久久久久久影院| 亚洲区小说区图片区qvod| 国产一区二区日韩精品| 26uuu精品一区二区在线观看| 日韩成人免费在线| 欧美一级生活片| 国产在线精品免费| 欧美va亚洲va在线观看蝴蝶网| 热久久免费视频| 日韩精品一区二区三区在线| 亚洲午夜免费电影| 精品国产乱子伦一区| 久久69国产一区二区蜜臀| 日韩欧美一区二区三区在线| 日本午夜精品一区二区三区电影| 欧美影院一区二区三区| 日本中文一区二区三区| 精品电影一区二区| 国产盗摄女厕一区二区三区| 国产精品你懂的在线欣赏| 不卡电影免费在线播放一区| 国产精品久久久久久福利一牛影视| 不卡大黄网站免费看| 亚洲精品成a人| 欧美日韩一本到| 天堂资源在线中文精品| 日韩欧美电影一区| 国产精品一区久久久久| 国产精品久久久久精k8| 色94色欧美sute亚洲13| 亚洲bt欧美bt精品777| 欧美一区三区四区| 国产麻豆精品在线观看| 亚洲国产精品成人久久综合一区 | 韩国女主播成人在线观看| 精品国产乱码久久久久久浪潮| 极品少妇xxxx精品少妇偷拍| 欧美韩日一区二区三区| 在线视频一区二区三| 日韩电影在线观看网站| 国产精品国产三级国产三级人妇 | 97精品国产露脸对白| 午夜不卡在线视频| 精品少妇一区二区三区日产乱码| 风间由美一区二区av101| 国产精品对白交换视频| 日韩精品一区在线| av电影天堂一区二区在线| 婷婷综合在线观看| 欧美国产亚洲另类动漫| 精品毛片乱码1区2区3区|