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

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

?? protodma.lst

?? 這是PDIUSBD12 smart開發板原版開發包
?? LST
字號:
C51 COMPILER V7.01  PROTODMA                                                               08/18/2003 08:43:21 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE PROTODMA
OBJECT MODULE PLACED IN Protodma.OBJ
COMPILER INVOKED BY: C:\Keil7.0\C51\BIN\C51.EXE Protodma.c OPTIMIZE(2,SPEED) DEBUG OBJECTEXTEND TABS(6)

stmt level    source

   1          #include <stdio.h>
   2          #include <string.h>
   3          
   4          #include <reg51.h>                /* special function register declarations   */
   5          #include "epphal.h"
   6          
   7          #include "d12ci.h"
   8          #include "mainloop.h"
   9          #include "usb100.h"
  10          #include "chap_9.h"
  11          
  12          extern CONTROL_XFER ControlData;
  13          extern IO_REQUEST idata ioRequest;
  14          extern EPPFLAGS bEPPflags;
  15          extern BOOL bNoRAM;
  16          extern unsigned char idata EpBuf[EP2_PACKET_SIZE];
  17          
  18          //獲取固件版本號
  19          void get_firmware_version()
  20          {
  21   1            unsigned char i;
  22   1      
  23   1            i = 0x30; // firmware version number
  24   1            single_transmit((unsigned char *)&i, 1);
  25   1      }
  26          
  27          //獲取端點2緩存區大小
  28          void get_buffer_size()
  29          {
  30   1            unsigned char i[4];
  31   1      
  32   1            if(bNoRAM == TRUE) {
  33   2                  i[0] = EP2_PACKET_SIZE;
  34   2                  i[1] = 0;
  35   2                  i[2] = 0;
  36   2                  i[3] = 0;
  37   2            } else {
  38   2                  i[0] = 0;
  39   2                  i[1] = 1;
  40   2                  i[2] = 0;
  41   2                  i[3] = 0;
  42   2            }
  43   1            single_transmit((unsigned char *)&i, 4);
  44   1      }
  45          
  46          //DMA請求響應子程序
  47          void setup_dma_request()
  48          {
  49   1            memcpy((unsigned char *)&ioRequest + ControlData.DeviceRequest.wValue,
  50   1                  ControlData.dataBuffer,
  51   1                  ControlData.DeviceRequest.wLength);
  52   1      
  53   1            ioRequest.uSize = SWAP(ioRequest.uSize);
  54   1            ioRequest.uAddressL = SWAP(ioRequest.uAddressL);
  55   1      
C51 COMPILER V7.01  PROTODMA                                                               08/18/2003 08:43:21 PAGE 2   

  56   1            if(ioRequest.uSize > DMA_BUFFER_SIZE) { // Unaccepted request
  57   2                  stall_ep0();//DMA設置出錯
  58   2            }
  59   1            else if(bNoRAM == TRUE && ioRequest.uSize > EP2_PACKET_SIZE) {
  60   2                  stall_ep0();//DMA緩沖區出錯
  61   2            }
  62   1            else {
  63   2                  if(bEPPflags.bits.dma_state == DMA_IDLE) {
  64   3                        DISABLE;
  65   3                        bEPPflags.bits.setup_dma ++;
  66   3                        ENABLE;
  67   3                  }
  68   2                  else {
  69   3                        DISABLE;
  70   3                        bEPPflags.bits.dma_state = DMA_PENDING;
  71   3                        ENABLE;
  72   3                  }
  73   2      
  74   2            } // else if accepted request
  75   1      }
  76          
  77          //廠商請求處理
  78          void read_write_register(void)
  79          {
  80   1            unsigned char i,len,epstatus;
  81   1      
  82   1            if(ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
  83   2      
  84   2                  if(bEPPflags.bits.verbose)
  85   2                        printf("Read Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
  86   2                              ControlData.DeviceRequest.wValue,
  87   2                              ControlData.DeviceRequest.wLength,
  88   2                              ControlData.DeviceRequest.wIndex);
  89   2      
  90   2                  if(ControlData.DeviceRequest.wIndex == GET_FIRMWARE_VERSION &&
  91   2                        ControlData.DeviceRequest.wValue == 0 &&
  92   2                        ControlData.DeviceRequest.wLength == 1)
  93   2                        get_firmware_version();//獲取固件版本號
  94   2                  else
  95   2                  if(ControlData.DeviceRequest.wIndex == GET_BUFFER_SIZE &&
  96   2                        ControlData.DeviceRequest.wValue == 0 &&
  97   2                        ControlData.DeviceRequest.wLength == 4)
  98   2                        get_buffer_size();//獲取緩沖區大小
  99   2                  else
 100   2                        stall_ep0();
 101   2      
 102   2            }     // if read register
 103   1            else{
 104   2                  if(bEPPflags.bits.verbose) {
 105   3      
 106   3                        printf("Write Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
 107   3                              ControlData.DeviceRequest.wValue,
 108   3                              ControlData.DeviceRequest.wLength,
 109   3                              ControlData.DeviceRequest.wIndex);
 110   3      
 111   3                        printf("Data: ");
 112   3                        for(i = 0; i < ControlData.DeviceRequest.wLength; i ++)
 113   3                              printf("0x%bx, ", *((ControlData.dataBuffer)+i));
 114   3                        printf("\n");
 115   3                  }
 116   2      
 117   2                  if(ControlData.DeviceRequest.wIndex == SETUP_DMA_REQUEST &&
C51 COMPILER V7.01  PROTODMA                                                               08/18/2003 08:43:21 PAGE 3   

 118   2                        ControlData.DeviceRequest.wValue == 0 &&
 119   2                        ControlData.DeviceRequest.wLength == 6)
 120   2                        {
 121   3                              if(ControlData.dataBuffer[5]==0x81)
 122   3                              {
 123   4                                    D12_WriteEndpoint(5, ControlData.dataBuffer[3], EpBuf);//發送數據
 124   4                              }
 125   3                              if(ControlData.dataBuffer[5]==0x80)
 126   3                              {
 127   4                                    epstatus=D12_ReadEndpointStatus(4);
 128   4                                    epstatus &= 0x60;
 129   4                                    if (epstatus == 0x60)
 130   4                                          len = D12_ReadEndpoint(4, 64, EpBuf);//讀取雙緩沖區數據
 131   4                              }
 132   3                              single_transmit(0, 0);
 133   3                              //setup_dma_request();//DMA設置處理,因為未使用DMA所以屏蔽掉
 134   3                        }                       
 135   2                  else
 136   2                        stall_ep0();
 137   2            }     // if write register
 138   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    590    ----
   CONSTANT SIZE    =    140    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       8
   IDATA SIZE       =   ----    ----
   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一区二区三区免费野_久草精品视频
韩国av一区二区三区在线观看| 色94色欧美sute亚洲线路一ni | 日韩欧美久久一区| 国产视频一区在线播放| 亚洲柠檬福利资源导航| 美日韩一级片在线观看| 99re亚洲国产精品| 日韩欧美一区在线| 亚洲码国产岛国毛片在线| 日本高清不卡aⅴ免费网站| 婷婷综合久久一区二区三区| 顶级嫩模精品视频在线看| 91麻豆精品91久久久久同性| 国产精品乱人伦| 精品一区二区三区不卡| 欧美日本在线观看| 一区二区三区在线视频免费观看| 国产综合色产在线精品| 国产精品久久久久三级| 国产成人午夜精品5599| 日韩午夜在线观看| 国产成人在线免费观看| 亚洲自拍偷拍麻豆| 91久久精品一区二区三区| 日韩影院在线观看| 欧美巨大另类极品videosbest | 日韩一区二区电影网| 风间由美中文字幕在线看视频国产欧美 | 欧美图区在线视频| 欧美国产日本视频| 高清国产一区二区| 亚洲电影在线免费观看| 欧美三电影在线| 一区二区成人在线| 日韩一级完整毛片| 色婷婷综合久色| 亚洲免费资源在线播放| 欧美电影精品一区二区| 欧美影院精品一区| 丁香激情综合五月| 亚洲国产成人一区二区三区| 欧美日韩一卡二卡三卡| 成人aa视频在线观看| 亚洲色图视频网| 91极品美女在线| 国产高清无密码一区二区三区| 亚洲国产中文字幕在线视频综合| 中文一区在线播放| 精品国产123| 国产伦精品一区二区三区免费迷 | 久久天天做天天爱综合色| 国产九色sp调教91| 国产精品乱子久久久久| 日韩免费看的电影| 欧美肥妇free| 欧美性猛交xxxxxx富婆| 99re热这里只有精品视频| 成人激情小说网站| 国产 日韩 欧美大片| 激情成人综合网| 极品美女销魂一区二区三区| 视频一区中文字幕国产| 亚洲国产精品天堂| 亚洲欧美国产高清| 亚洲视频一区在线观看| 国产精品久久久99| 中文字幕国产精品一区二区| 国产午夜精品一区二区三区视频| 欧美va亚洲va在线观看蝴蝶网| 春色校园综合激情亚洲| 国产69精品久久久久777| 国产裸体歌舞团一区二区| 久久疯狂做爰流白浆xx| 亚洲精品视频在线看| 日韩午夜av电影| 日韩欧美国产午夜精品| 日韩久久久久久| 亚洲精品一区二区三区99| 日韩一级二级三级| 久久免费视频色| 欧美丰满少妇xxxbbb| 91精品国产综合久久国产大片| 国产成人精品影院| 东方aⅴ免费观看久久av| 高清国产午夜精品久久久久久| 成人午夜av电影| 在线视频你懂得一区| 成人黄色777网| 色女孩综合影院| 欧美日韩成人综合在线一区二区| 欧美日本一区二区| 日韩欧美国产一区二区三区 | 欧美日韩国产欧美日美国产精品| 欧美在线观看视频在线| 91精品国产综合久久小美女| 精品日韩一区二区三区 | 色综合色综合色综合色综合色综合| 在线亚洲人成电影网站色www| 欧美日韩综合在线| 欧美mv和日韩mv的网站| 国产精品毛片大码女人| 亚洲伊人色欲综合网| 麻豆久久久久久久| 不卡一区二区三区四区| 3d动漫精品啪啪| 国产欧美日韩久久| 欧美电视剧在线看免费| 国产精品污网站| 亚洲电影中文字幕在线观看| 国产在线不卡视频| 色婷婷av一区二区| 日韩欧美专区在线| 日韩毛片视频在线看| 久久激五月天综合精品| 97精品久久久午夜一区二区三区| 91精品国产免费| 一区在线中文字幕| 亚洲女人小视频在线观看| 日韩高清在线观看| 蜜臀久久99精品久久久久宅男| 丁香网亚洲国际| 555www色欧美视频| 亚洲色图视频免费播放| 国产一区二区三区精品视频| 欧美性大战久久久久久久蜜臀| 久久你懂得1024| 日韩高清一级片| 99视频精品全部免费在线| 91国模大尺度私拍在线视频| www激情久久| 日日夜夜一区二区| 色狠狠色噜噜噜综合网| 久久久久久久久久美女| 日韩av午夜在线观看| 99国产精品一区| 国产女人18毛片水真多成人如厕| 日韩黄色一级片| 欧美图区在线视频| 亚洲美女偷拍久久| 国产在线视频一区二区| 日韩欧美在线不卡| 日韩经典中文字幕一区| 欧美色图免费看| 亚洲精品国产无天堂网2021| 成人av在线播放网站| 国产欧美日本一区二区三区| 久久国产精品色婷婷| 欧美一区二区国产| 亚洲国产人成综合网站| 日本乱人伦一区| 成人欧美一区二区三区黑人麻豆| 国产69精品久久久久777| 久久久噜噜噜久久人人看 | 五月激情综合婷婷| 欧美四级电影在线观看| 亚洲综合丝袜美腿| 91国模大尺度私拍在线视频| 亚洲人精品一区| 91浏览器打开| 精品久久久久久最新网址| 日韩av中文字幕一区二区三区| 欧美在线观看视频一区二区三区| 一区二区三区在线免费观看 | 日韩高清在线不卡| 欧美男男青年gay1069videost | 国产精品久久久久久亚洲毛片 | 亚洲成人免费视| 国产成人在线影院 | 欧美一区二区三区四区在线观看| 亚洲一二三专区| 欧美乱妇一区二区三区不卡视频| 亚洲成人动漫在线观看| 91精品婷婷国产综合久久性色 | 精品污污网站免费看| 亚洲午夜三级在线| 91精品国产综合久久蜜臀| 免费看精品久久片| 91极品美女在线| 水蜜桃久久夜色精品一区的特点| 制服丝袜中文字幕亚洲| 国内精品自线一区二区三区视频| 久久综合狠狠综合久久激情| 成人国产精品免费观看| 伊人一区二区三区| 91麻豆精品国产91久久久使用方法| 捆绑变态av一区二区三区| 国产日韩v精品一区二区| 99国内精品久久| 亚洲成人动漫一区| 久久一区二区视频| av电影天堂一区二区在线| 亚洲超碰精品一区二区| 欧美videofree性高清杂交| 成人aa视频在线观看| 性感美女极品91精品| 国产日韩欧美精品一区| 欧美日韩在线电影| 国产裸体歌舞团一区二区| 亚洲黄一区二区三区| 精品粉嫩aⅴ一区二区三区四区|