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

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

?? isr.lst

?? USB接口芯片pdiusbd12固件源程序
?? LST
字號:
C51 COMPILER V7.06   ISR                                                                   03/19/2006 13:40:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ISR
OBJECT MODULE PLACED IN ISR.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ISR.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //
   4             //                  P H I L I P S   P R O P R I E T A R Y
   5             //
   6             //           COPYRIGHT (c)   1997 BY PHILIPS SINGAPORE.
   7             //                     --  ALL RIGHTS RESERVED  --
   8             //
   9             // File Name:        ISR.C
  10             // Author:           Wenkai Du
  11             // Created:          19 Dec 97
  12             // Modified:
  13             // Revision:         3.0
  14             //
  15             //*************************************************************************
  16             //
  17             // 98/11/25          Added I/O mode Main endpoints access. (WK)
  18             //*************************************************************************
  19             */
  20          #include <stdio.h>
  21          #include <string.h>
  22          #ifdef __C51__
  23          #include <reg51.h>                /* special function register declarations   */
  24          #endif
  25          #include "epphal.h"
  26          #include "d12ci.h"
  27          #include "mainloop.h"
  28          #include "usb100.h"
  29          
  30          extern void bus_reset(void);
  31          extern void dma_eot();
  32          extern void ep0_txdone(void);
  33          extern void ep0_rxdone(void);
  34          
  35          extern void ep1_txdone(void);
  36          extern void ep1_rxdone(void);
  37          extern void main_txdone(void);
  38          extern void main_rxdone(void);
  39          
  40          /*
  41          //*************************************************************************
  42          //  Public static data
  43          //*************************************************************************
  44          */
  45          
  46          EPPFLAGS bEPPflags;
  47          
  48          /* Control endpoint TX/RX buffers */
  49          extern CONTROL_XFER ControlData;
  50          
  51          /* ISR static vars */
  52          unsigned char idata GenEpBuf[EP1_PACKET_SIZE]={0,0,0,0};
  53          unsigned char idata EpBuf[EP2_PACKET_SIZE];
  54          //IO_REQUEST idata ioRequest;
  55          
C51 COMPILER V7.06   ISR                                                                   03/19/2006 13:40:25 PAGE 2   

  56          
  57          usb_isr() interrupt 2
  58          {
  59   1              DISABLE;
  60   1              fn_usb_isr();
  61   1              ENABLE;
  62   1      }
  63          
  64          void fn_usb_isr()
  65          {
  66   1              unsigned int i_st;
  67   1      
  68   1              bEPPflags.bits.in_isr = 1;
  69   1      
  70   1              i_st = D12_ReadInterruptRegister();
  71   1      
  72   1              if(i_st != 0) {
  73   2                      if(i_st & D12_INT_BUSRESET) 
  74   2                      {
  75   3                              bus_reset();
  76   3                              bEPPflags.bits.bus_reset = 1;
  77   3                      }
  78   2                      else
  79   2                      {
  80   3                              if(i_st & D12_INT_EOT)
  81   3                                      dma_eot();
  82   3                              if(i_st & D12_INT_SUSPENDCHANGE)
  83   3                                      bEPPflags.bits.suspend = 1;
  84   3              
  85   3                              if(i_st & D12_INT_ENDP0IN)
  86   3                                      ep0_txdone();
  87   3                              if(i_st & D12_INT_ENDP0OUT)
  88   3                                      ep0_rxdone();
  89   3                              if(i_st & D12_INT_ENDP1IN)
  90   3                                      ep1_txdone();
  91   3                              if(i_st & D12_INT_ENDP1OUT)
  92   3                                      ep1_rxdone();
  93   3                              if(i_st & D12_INT_ENDP2IN)
  94   3                                      main_txdone();
  95   3                              if(i_st & D12_INT_ENDP2OUT)
  96   3                                      main_rxdone();
  97   3                      }
  98   2              }
  99   1      
 100   1              bEPPflags.bits.in_isr = 0;
 101   1      }
 102          
 103          void bus_reset(void)
 104          {
 105   1      }
 106          
 107          void ep0_rxdone(void)
 108          {
 109   1              unsigned char ep_last, i;
 110   1      
 111   1              ep_last = D12_ReadLastTransactionStatus(0); // Clear interrupt flag
 112   1      
 113   1              if (ep_last & D12_SETUPPACKET) {
 114   2      
 115   2                      ControlData.wLength = 0;
 116   2                      ControlData.wCount = 0;
 117   2      
C51 COMPILER V7.06   ISR                                                                   03/19/2006 13:40:25 PAGE 3   

 118   2                      if( D12_ReadEndpoint(0, sizeof(ControlData.DeviceRequest),
 119   2                              (unsigned char *)(&(ControlData.DeviceRequest))) != sizeof(DEVICE_REQUEST) ) {
 120   3                              //setup包出錯,返回
 121   3                              D12_SetEndpointStatusIsr(0, 1);
 122   3                              D12_SetEndpointStatusIsr(1, 1);
 123   3                              bEPPflags.bits.control_state = USB_IDLE;
 124   3                              
 125   3                              return;
 126   3                      }
 127   2      
 128   2                      ControlData.DeviceRequest.wValue = SWAP(ControlData.DeviceRequest.wValue);
 129   2                      ControlData.DeviceRequest.wIndex = SWAP(ControlData.DeviceRequest.wIndex);
 130   2                      ControlData.DeviceRequest.wLength = SWAP(ControlData.DeviceRequest.wLength);
 131   2      
 132   2                      // Acknowledge setup here to unlock in/out endp
 133   2                      D12_AcknowledgeEndpoint(0);
 134   2                      D12_AcknowledgeEndpoint(1);
 135   2      
 136   2                      ControlData.wLength = ControlData.DeviceRequest.wLength;
 137   2                      ControlData.wCount = 0;
 138   2      
 139   2                      if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
 140   3                              bEPPflags.bits.setup_packet = 1;
 141   3                              bEPPflags.bits.control_state = USB_TRANSMIT;            /* get command */
 142   3                      }
 143   2                      else {
 144   3                              if (ControlData.DeviceRequest.wLength == 0) {
 145   4                                      bEPPflags.bits.setup_packet = 1;
 146   4                                      bEPPflags.bits.control_state = USB_IDLE;                /* set command */
 147   4                              }
 148   3                              else {
 149   4                                      if(ControlData.DeviceRequest.wLength > MAX_CONTROLDATA_SIZE) {
 150   5                                              bEPPflags.bits.control_state = USB_IDLE;
 151   5                                              D12_SetEndpointStatusIsr(0, 1);
 152   5                                              D12_SetEndpointStatusIsr(1, 1);
 153   5                                      }
 154   4                                      else {
 155   5                                              bEPPflags.bits.control_state = USB_RECEIVE;     /* set command with OUT token */
 156   5                                      }
 157   4                              } // set command with data
 158   3                      } // else set command
 159   2              } // if setup packet
 160   1      
 161   1              else if (bEPPflags.bits.control_state == USB_RECEIVE) {
 162   2                      i =     D12_ReadEndpoint(0, EP0_PACKET_SIZE,
 163   2                              ControlData.dataBuffer + ControlData.wCount);
 164   2      
 165   2                      ControlData.wCount += i;
 166   2                      if( i != EP0_PACKET_SIZE || ControlData.wCount >= ControlData.wLength) {
 167   3                              bEPPflags.bits.setup_packet = 1;
 168   3                              bEPPflags.bits.control_state = USB_IDLE;
 169   3                      }
 170   2              }
 171   1      
 172   1              else {
 173   2                      bEPPflags.bits.control_state = USB_IDLE;
 174   2              }
 175   1      }
 176          
 177          void ep0_txdone(void)
 178          {
 179   1              short i = ControlData.wLength - ControlData.wCount;
C51 COMPILER V7.06   ISR                                                                   03/19/2006 13:40:25 PAGE 4   

 180   1      
 181   1              D12_ReadLastTransactionStatus(1); // Clear interrupt flag
 182   1      
 183   1              if (bEPPflags.bits.control_state != USB_TRANSMIT) 
 184   1                      return;
 185   1      
 186   1              if( i >= EP0_PACKET_SIZE) {
 187   2                      D12_WriteEndpointIsr(1, EP0_PACKET_SIZE, ControlData.pData + ControlData.wCount);
 188   2                      ControlData.wCount += EP0_PACKET_SIZE;
 189   2      
 190   2                      bEPPflags.bits.control_state = USB_TRANSMIT;
 191   2              }
 192   1              else if( i != 0) {
 193   2                      D12_WriteEndpointIsr(1, i, ControlData.pData + ControlData.wCount);
 194   2                      ControlData.wCount += i;
 195   2      
 196   2                      bEPPflags.bits.control_state = USB_IDLE;
 197   2              }
 198   1              else if (i == 0){
 199   2                      D12_WriteEndpointIsr(1, 0, 0); // Send zero packet at the end ???
 200   2      
 201   2                      bEPPflags.bits.control_state = USB_IDLE;
 202   2              }
 203   1      }
 204          
 205          void dma_eot(void)
 206          {
 207   1      
 208   1      }
 209          
 210          void ep1_txdone(void)
 211          {
 212   1              D12_ReadLastTransactionStatus(3); /* Clear interrupt flag */
 213   1      }
 214          
 215          void ep1_rxdone(void)
 216          {
 217   1              unsigned char len;
 218   1      
 219   1              D12_ReadLastTransactionStatus(2); /* Clear interrupt flag */
 220   1      
 221   1              len = D12_ReadEndpoint(2, sizeof(GenEpBuf), GenEpBuf);
 222   1      
 223   1              if(len != 0)
 224   1              {
 225   2                      bEPPflags.bits.ep1_rxdone = 1;
 226   2      
 227   2              }
 228   1      }
 229          
 230          void main_txdone(void)
 231          {
 232   1              D12_ReadLastTransactionStatus(5);
 233   1      }
 234          
 235          void main_rxdone(void)
 236          {
 237   1              unsigned char len;
 238   1              D12_ReadLastTransactionStatus(4);
 239   1              len = D12_ReadEndpoint(4, sizeof(EpBuf),EpBuf);
 240   1      
 241   1              if(len != 0)
C51 COMPILER V7.06   ISR                                                                   03/19/2006 13:40:25 PAGE 5   

 242   1              {
 243   2                      bEPPflags.bits.main_rxdone = 1;
 244   2              }
 245   1      }
 246          
 247          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    635    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2       4
   IDATA SIZE       =     68    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费看片| 久久久久久久综合狠狠综合| 一区二区三区欧美日| 91九色最新地址| 婷婷综合在线观看| 精品日韩一区二区三区免费视频| 精品在线播放午夜| 国产欧美精品一区二区色综合| 丁香婷婷综合激情五月色| 综合网在线视频| 欧美久久免费观看| 国模少妇一区二区三区| 中文字幕国产一区| 欧美日韩一级黄| 久久精品国产亚洲高清剧情介绍 | 免费在线欧美视频| 久久久精品免费免费| 91麻豆视频网站| 日本成人在线电影网| 中文久久乱码一区二区| 91福利视频在线| 黄页网站大全一区二区| 国产精品国产三级国产普通话蜜臀| 91一区一区三区| 日本美女视频一区二区| 国产精品美日韩| 91精品国产免费久久综合| 高清国产一区二区| 亚洲6080在线| 国产精品入口麻豆九色| 91.com视频| 日韩欧美国产高清| 一本久久精品一区二区| 美女视频黄免费的久久| 亚洲精品综合在线| 精品av综合导航| 97se亚洲国产综合在线| 美女视频黄久久| 一区二区三区免费在线观看| 久久精品无码一区二区三区| 欧美日韩中文精品| 99麻豆久久久国产精品免费| 蜜臀av性久久久久av蜜臀妖精| 中文字幕一区不卡| 精品久久久久久久久久久久久久久久久| 色综合视频在线观看| 国产一区二区久久| 免费一区二区视频| 婷婷六月综合亚洲| 一区二区三区精品视频| 国产精品嫩草影院av蜜臀| 欧美一区二区三区性视频| 在线观看中文字幕不卡| 99久久99久久久精品齐齐| 激情六月婷婷久久| 日韩电影一区二区三区四区| 亚洲在线成人精品| 尤物视频一区二区| 一区二区中文字幕在线| 国产午夜精品久久久久久久| 日韩欧美国产麻豆| 日韩精品中文字幕一区| 制服丝袜在线91| 欧美色窝79yyyycom| 欧美在线免费视屏| 91免费观看国产| 99在线精品一区二区三区| 成人少妇影院yyyy| 国产成人aaaa| 久久精品国产亚洲一区二区三区| 日韩精品亚洲一区| 日精品一区二区| 日韩精品乱码av一区二区| 亚洲444eee在线观看| 亚洲福利一二三区| 日韩成人免费看| 日韩和欧美的一区| 麻豆国产一区二区| 国产尤物一区二区| 国产精品91一区二区| 国产91丝袜在线18| 9人人澡人人爽人人精品| 国产成人超碰人人澡人人澡| 成人免费毛片app| 91首页免费视频| 在线观看视频一区二区| 欧美另类变人与禽xxxxx| 91精品久久久久久蜜臀| 日韩欧美不卡一区| 蜜臀久久久99精品久久久久久| 美女爽到高潮91| 国产成人午夜精品5599| 99riav久久精品riav| 精品视频在线看| 欧美一区二区三区成人| 26uuu另类欧美| 国产精品国产三级国产有无不卡 | 一区二区三区在线视频观看| 亚洲永久精品大片| 免费av成人在线| 成人一区在线看| 色婷婷亚洲精品| 日韩三级精品电影久久久| 久久亚洲精品国产精品紫薇| 中文字幕亚洲一区二区av在线| 亚洲综合激情另类小说区| 丝袜美腿一区二区三区| 国产成人8x视频一区二区| 欧洲国内综合视频| 精品国产乱码久久久久久久| 亚洲国产精品高清| 亚洲第一搞黄网站| 国产精品影视天天线| 91视频xxxx| 8x8x8国产精品| 国产精品入口麻豆原神| 午夜电影久久久| 国v精品久久久网| 欧美日韩不卡一区二区| 国产校园另类小说区| 亚洲国产日韩a在线播放性色| 国产在线播放一区三区四| 色偷偷久久一区二区三区| 欧美人与禽zozo性伦| 国产欧美日韩视频一区二区| 午夜一区二区三区视频| 国产福利一区二区三区视频| 欧美欧美欧美欧美首页| 国产午夜精品一区二区| 奇米影视一区二区三区小说| 99久久婷婷国产综合精品电影| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品视频免费| 天堂在线一区二区| 不卡的av在线| 久久久影视传媒| 日韩国产精品大片| 色香色香欲天天天影视综合网| 欧美精品一区二区三区蜜臀| 一本久久综合亚洲鲁鲁五月天| 欧美精品一区二区精品网| 伊人性伊人情综合网| 国产不卡在线一区| 久久这里只有精品6| 奇米精品一区二区三区四区| 日本福利一区二区| 亚洲少妇中出一区| www.亚洲激情.com| 国产视频在线观看一区二区三区| 视频一区二区不卡| 欧美三级视频在线| 亚洲乱码日产精品bd| 99精品视频在线播放观看| 中文字幕二三区不卡| 岛国一区二区在线观看| 久久精品视频一区| 精品一区二区日韩| 日韩免费观看高清完整版在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 99亚偷拍自图区亚洲| 国产精品色婷婷久久58| 成人免费福利片| 国产精品免费视频观看| 不卡一区中文字幕| 亚洲色图色小说| 91免费看视频| 一区二区三区日韩欧美| 欧美午夜视频网站| 午夜日韩在线观看| 欧美一区二区三区视频在线观看| 日韩制服丝袜先锋影音| 欧美videos大乳护士334| 另类调教123区| 久久久久久久久97黄色工厂| 国产.欧美.日韩| 一区二区中文视频| 欧美在线观看一区二区| 日韩精品免费专区| 精品国产123| 丰满亚洲少妇av| 日韩美女视频一区| 欧美日韩国产123区| 精品一区二区三区不卡 | 国产精品久久午夜夜伦鲁鲁| 成人精品国产福利| 一区二区三区国产| 制服.丝袜.亚洲.另类.中文| 麻豆精品一区二区综合av| 久久久久久97三级| aaa亚洲精品| 丝袜美腿亚洲一区二区图片| 久久先锋影音av| 99久久国产综合精品色伊| 亚洲成a人v欧美综合天堂| 日韩欧美中文字幕精品| 国产不卡一区视频| 一区二区在线观看免费| 欧美电视剧免费观看| 成人avav影音| 视频一区中文字幕|