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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? isp1581.lst

?? usb程序 硬件用的是isp1518
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ISP1581
OBJECT MODULE PLACED IN .\Isp1581.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\Firmware\Firmware\Isp1581.c OMF2 BROWSE DEBUG PRINT(.\Isp1581.lst) OBJEC
                    -T(.\Isp1581.obj)

line level    source

   1          #include "SMPro.h"
   2          #include "HAL.h"
   3          #include "USB.H"
   4          #include "Isp1581.h"
   5          extern ZBOARDFLAGS bZBoardFlags;
   6          
   7          void outport(unsigned short nPort, unsigned short nVal)
   8          {
   9   1              unsigned short idata temp;
  10   1              
  11   1              unsigned char xdata *exAddress;
  12   1              exAddress = nPort;
  13   1              temp=nVal;
  14   1              ISP1581_CS=0;//xxg
  15   1              *exAddress=temp;
  16   1              temp=temp>>8;
  17   1              *(exAddress+1)=temp;
  18   1              ISP1581_CS=1;//xxg
  19   1      
  20   1      }
  21          
  22          void outportb(unsigned short nPort, unsigned char nVal)
  23          {
  24   1              unsigned char xdata *exAddress;
  25   1              exAddress = nPort;
  26   1              
  27   1              ISP1581_CS=0;//xxg
  28   1              *exAddress = nVal;
  29   1              ISP1581_CS=1;//xxg
  30   1      }
  31          
  32          unsigned short inport(unsigned short nPort)
  33          {
  34   1              unsigned short idata nVal;
  35   1              unsigned char idata temp;
  36   1              unsigned char xdata *exAddress;
  37   1              exAddress = nPort;
  38   1              
  39   1              ISP1581_CS=0;//xxg
  40   1              
  41   1              temp=*exAddress;
  42   1              nVal=*(exAddress+1);
  43   1              ISP1581_CS=1;//xxg
  44   1              nVal=nVal<<8;
  45   1              nVal=nVal+temp;
  46   1              return nVal;
  47   1              
  48   1      }
  49          
  50          unsigned char inportb(unsigned short nPort)
  51          {
  52   1              //unsigned short idata nVal;
  53   1              unsigned char nVal;
  54   1              unsigned char xdata *exAddress;
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 2   

  55   1              exAddress = nPort;
  56   1              ISP1581_CS=0;//xxg
  57   1              nVal = *exAddress;
  58   1              ISP1581_CS=1;//xxg
  59   1              return nVal;
  60   1      
  61   1      }
  62          //////////////////////////////////////////////////////////
  63          void ISP1581_ResetDevice(void)
  64          {
  65   1              unsigned char i=0,j;
  66   1      
  67   1              ISP1581_SetMode(mode_reset);
  68   1              ISP1581_SetMode(0x0);
  69   1              for(i = 0; i <15; i++)
  70   1              {
  71   2                      for(j = 0; j < 255; j++)
  72   2                      {
  73   3                      }
  74   2              
  75   2              }
  76   1              
  77   1      }
  78          void ISP1581_SendResume(void)
  79          {
  80   1              UCHAR c;
  81   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
  82   1                      RaiseIRQL();
  83   1      
  84   1              ISP1581_ReadChipID();; // wake up device first;
  85   1              // need to add some delay for 3 ms to let the device get out of suspend, (crystal to be stable);
  86   1              // srcatch is used to store user information for wake up;
  87   1              ISP1581_UnlockDevice();
  88   1              c = ISP1581_GetMode();
  89   1              ISP1581_SetMode(c|mode_sndrsu);
  90   1              ISP1581_SetMode(c);
  91   1      
  92   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
  93   1                      LowerIRQL();
  94   1      }
  95          
  96          void ISP1581_GoSuspend(void)
  97          {
  98   1              unsigned char c;
  99   1              c = ISP1581_GetMode();
 100   1              ISP1581_SetMode(c|mode_gosusp);
 101   1              ISP1581_SetMode(c);
 102   1              //return;
 103   1      }
 104          
 105          
 106          void ISP1581_SetEPIndex(UCHAR bEPIndex)  //OK
 107          {
 108   1              outportb(rega_epindex, bEPIndex);
 109   1      }
 110          
 111          UCHAR ISP1581_GetEndpointStatus(UCHAR bEPIndex) //OK
 112          {
 113   1              UCHAR c;
 114   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 115   1                      RaiseIRQL();
 116   1              ISP1581_SetEPIndex(bEPIndex);
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 3   

 117   1              c = inportb(rega_epctlfc);
 118   1      
 119   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 120   1                      LowerIRQL();
 121   1              return c;
 122   1      }
 123          
 124          void ISP1581_SetEndpointStatus(UCHAR bEPIndex, UCHAR bStalled) //OK
 125          {
 126   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 127   1                      RaiseIRQL();
 128   1      
 129   1              ISP1581_SetEPIndex(bEPIndex);
 130   1              outportb(rega_epctlfc, bStalled);
 131   1      
 132   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 133   1                      LowerIRQL();
 134   1      }
 135          void ISP1581_ControlReadHandshake(void)
 136          {
 137   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_IN, epctlfc_status|epctlfc_stall);
 138   1      }
 139          void ISP1581_ControlWriteHandshake(void)
 140          {
 141   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_OUT, epctlfc_status|epctlfc_stall);
 142   1      }
 143          
 144          void ISP1581_SetAddressEnable(UCHAR bAddress, UCHAR bEnable)
 145          {
 146   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 147   1                      RaiseIRQL();
 148   1      
 149   1              if(bEnable)
 150   1                      bAddress |= addren_enable;
 151   1              else
 152   1                      bAddress &= addren_addrmask;
 153   1      
 154   1              outportb(rega_addren, bAddress); // set new address enable);
 155   1      
 156   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 157   1                      LowerIRQL();
 158   1      }
 159          USHORT ISP1581_ReadControlEndpointSetup(UCHAR * buf)
 160          {
 161   1              USHORT i,c;
 162   1      
 163   1              ISP1581_SetEPIndex(EPINDEX4CONTROL_SETUP);
 164   1              c = inport(rega_dcount);
 165   1              for(i=0; i<c; i++)
 166   1              {
 167   2                      *buf = inportb(rega_dport);
 168   2                      buf ++;
 169   2              }
 170   1      
 171   1              return c;
 172   1      }
 173          
 174          USHORT ISP1581_WriteControlEndpoint(UCHAR * buf, USHORT len)
 175          {
 176   1              USHORT i;
 177   1              UCHAR  c;
 178   1      
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 4   

 179   1              ISP1581_SetEPIndex(EPINDEX4EP07OUT);// work around for es4, write in endpoint corrupts out endpoint data
 180   1              ISP1581_SetEPIndex(EPINDEX4CONTROL_IN);
 181   1      
 182   1              outport(rega_dcount, len);
 183   1              for(i=0;i<len;i++,buf++)
 184   1              {
 185   2                c=*buf;
 186   2                outportb(rega_dport,c);
 187   2              }
 188   1              return len;
 189   1      }
 190          
 191          USHORT ISP1581_ReadControlEndpoint(UCHAR * buf, unsigned short len)
 192          {
 193   1              USHORT i, j, RX_LEN;
 194   1              
 195   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 196   1                      RaiseIRQL();
 197   1      
 198   1              ISP1581_SetEPIndex(EPINDEX4CONTROL_OUT);
 199   1              // get pkt length
 200   1              RX_LEN = inport(rega_dcount);
 201   1      
 202   1              if(RX_LEN <= EP0_PACKET_SIZE)
 203   1              {
 204   2                      j = RX_LEN;
 205   2              }
 206   1              else
 207   1              {
 208   2                      j = EP0_PACKET_SIZE;
 209   2              }
 210   1      
 211   1              for(i=0; i< j; i++) // Maxium data length allowed.
 212   1              {
 213   2                      * buf = inportb(rega_dport);
 214   2                      buf ++;
 215   2              }
 216   1      
 217   1              for(i = j; i <RX_LEN; i++)   // strip invalid data other than setup has set
 218   1                      inportb(rega_dport);
 219   1      
 220   1              if(RX_LEN > len)
 221   1                      j = EP0_PACKET_SIZE;    // return max length informing more data received than expected.
 222   1      
 223   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 224   1                      LowerIRQL();
 225   1      
 226   1              return j;
 227   1      }
 228          USHORT ISP1581_ReadBulkEndpoint(UCHAR bEPIndex, unsigned char * buf, USHORT len)
 229          {
 230   1              USHORT i, j, c;
 231   1      
 232   1              ISP1581_SetEPIndex(bEPIndex);
 233   1              j = inport(rega_dcount);
 234   1      
 235   1              if(j<len)
 236   1                      len=j;
 237   1              for(i=0; i<len; i=i+1, buf++ )
 238   1              {
 239   2                      c = inportb(rega_dport);
 240   2                      *buf = c;
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 5   

 241   2              }
 242   1              for(i=len; i<j; i=i+1)
 243   1                      inportb(rega_dport);                  // data received is more than count setup got, discards the extra 
             -data.
 244   1              
 245   1              return len;
 246   1      }
 247          void ISP1581_WriteBulkEndpoint(UCHAR bEPIndex, unsigned char * buf, USHORT len)
 248          {
 249   1              USHORT  i;
 250   1      
 251   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 252   1                      RaiseIRQL();
 253   1      
 254   1              ISP1581_SetEPIndex(EPINDEX4EP07OUT);// work around for es4, write in endpoint corrupts out endpoint data
 255   1              ISP1581_SetEPIndex(bEPIndex);
 256   1                      outport(rega_dcount, len);
 257   1      
 258   1      
 259   1              for(i=0; i<len; i++, buf++ )
 260   1              {
 261   2                      outportb(rega_dport,*buf);
 262   2              }
 263   1      
 264   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 265   1                      LowerIRQL();
 266   1      }
 267          
 268          USHORT ISP1581_ReadISOEndpoint(UCHAR bEPIndex, unsigned short * buf, USHORT len)
 269          {
 270   1              USHORT i, j;
 271   1      
 272   1              ISP1581_SetEPIndex(bEPIndex);
 273   1              //outport(aport, rega_dcount);
 274   1              j = inport(rega_dcount);
 275   1              if(j<len)
 276   1                      len=j;
 277   1              for(i=0; i<len; i=i++, buf++ )
 278   1              {
 279   2                      *buf = inportb(rega_dport);
 280   2              }
 281   1              
 282   1              for(i=len; i<j; i=i+1)
 283   1                      inportb(rega_dport);                  // data received is more than count setup got, discards the extra 
             -data.
 284   1      
 285   1              return len;
 286   1      }
 287          
 288          void ISP1581_WriteISOEndpoint(UCHAR bEPIndex, unsigned short * buf, USHORT len)
 289          {
 290   1              USHORT  i;
 291   1      
 292   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 293   1                      RaiseIRQL();
 294   1      
 295   1              ISP1581_SetEPIndex(EPINDEX4EP07OUT);// work around for es4, write in endpoint corrupts out endpoint data
 296   1              ISP1581_SetEPIndex(bEPIndex);
 297   1      
 298   1              if (len < 256)
 299   1              {
 300   2                      outport(rega_dcount, len);
C51 COMPILER V8.02   ISP1581                                                               08/03/2006 10:10:36 PAGE 6   

 301   2              }
 302   1      
 303   1              for(i=0; i<len; i ++, buf++ )
 304   1              {
 305   2                      outportb(rega_dport,*buf);
 306   2              }
 307   1      
 308   1              if(bZBoardFlags.bits.At_IRQL1 == 0)
 309   1                      LowerIRQL();
 310   1      }
 311          
 312          
 313          void ISP1581_StallEP0InControlWrite(void)
 314          {
 315   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_IN, epctlfc_stall);
 316   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_OUT, epctlfc_stall);
 317   1      }
 318          
 319          void ISP1581_StallEP0InControlRead(void)
 320          {
 321   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_OUT, epctlfc_stall);
 322   1              ISP1581_SetEndpointStatus(EPINDEX4CONTROL_IN, epctlfc_stall);
 323   1      }
 324          

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美无乱码久久久免费午夜一区| 日韩视频免费直播| 国产精品天天摸av网| 成人妖精视频yjsp地址| 中文av字幕一区| 色狠狠一区二区| 一区二区三区免费观看| 欧美日韩精品综合在线| 高清久久久久久| 欧美电影免费提供在线观看| 狠狠色狠狠色综合| 国产精品视频一二三区| 91香蕉视频mp4| 性欧美大战久久久久久久久| 欧美成人性福生活免费看| 国产成人亚洲综合色影视| 中文字幕视频一区| 在线播放91灌醉迷j高跟美女 | 久久奇米777| 成人激情免费网站| 午夜精品视频一区| 国产三级精品视频| 欧美四级电影在线观看| 精品午夜一区二区三区在线观看| 国产精品成人一区二区艾草| 欧美日韩美少妇| 国产精品一品视频| 亚洲线精品一区二区三区| 亚洲精品在线网站| 在线观看一区二区精品视频| 韩国毛片一区二区三区| 欧美色视频一区| 中文幕一区二区三区久久蜜桃| 91久久国产最好的精华液| 婷婷久久综合九色国产成人 | 久久精品一区二区| 91美女片黄在线观看91美女| 蜜臀av一区二区在线观看| 国产精品久久一级| 久久综合色8888| 欧美性videosxxxxx| 国产成人啪午夜精品网站男同| 亚洲成a人v欧美综合天堂下载| 中文字幕精品—区二区四季| 日韩亚洲欧美一区二区三区| 91丨porny丨国产入口| 久久99久久99| 日本人妖一区二区| 亚洲一级二级在线| 亚洲私人影院在线观看| 国产亚洲一本大道中文在线| 欧美人动与zoxxxx乱| 久久激情五月激情| 亚洲无线码一区二区三区| 国产精品色婷婷久久58| 日韩精品一区二区三区四区| 欧美体内she精高潮| 99国产欧美另类久久久精品| 国产精品888| 国产一区二区三区精品欧美日韩一区二区三区 | 国产激情视频一区二区在线观看| 亚洲成人激情自拍| 一区二区高清免费观看影视大全| 国产精品成人午夜| 国产精品久久综合| 国产日韩欧美在线一区| 久久久亚洲精品一区二区三区 | 国产精品免费免费| 精品电影一区二区| 日韩欧美另类在线| 国产午夜精品久久久久久免费视| 5858s免费视频成人| 欧美色涩在线第一页| 91国偷自产一区二区三区观看| av成人免费在线| 成人av网址在线观看| proumb性欧美在线观看| 国产999精品久久久久久绿帽| 国产精品一品视频| 国产xxx精品视频大全| 懂色av一区二区在线播放| 国产不卡在线一区| 国产99精品国产| 9i在线看片成人免费| 91在线观看视频| 在线观看日韩精品| 欧美日韩不卡在线| 日韩欧美亚洲国产另类| 精品国产一区久久| 久久久久久97三级| 国产精品国产三级国产aⅴ中文 | 亚洲免费观看高清完整版在线 | 久久久久久97三级| 国产精品久久久久久久午夜片| 成人免费在线视频| 亚洲一区二区三区爽爽爽爽爽| 亚洲精品免费在线播放| 亚洲制服丝袜一区| 午夜精品久久久久久久99水蜜桃| 人人超碰91尤物精品国产| 成人app软件下载大全免费| 国产成人在线视频网站| 成人高清av在线| 欧美伊人精品成人久久综合97| 欧美精品在线观看播放| 欧美大尺度电影在线| 国产日韩欧美综合一区| 亚洲老妇xxxxxx| 日本成人中文字幕在线视频| 国产99精品视频| 欧美中文字幕久久| 日韩一级完整毛片| 国产精品久久夜| 日日摸夜夜添夜夜添亚洲女人| 国产真实乱偷精品视频免| 91在线你懂得| 欧美成人bangbros| 亚洲欧美乱综合| 久久国产精品99久久久久久老狼| 国产成人免费av在线| 国产在线看一区| 国产精品一区二区久激情瑜伽 | 久久精品亚洲精品国产欧美kt∨| 国产精品高清亚洲| 久久精品av麻豆的观看方式| 99久久国产综合精品女不卡| 日韩午夜在线观看| 亚洲精品国产品国语在线app| 国产综合久久久久影院| 欧美性猛交xxxx乱大交退制版| 国产女人水真多18毛片18精品视频 | 欧美日韩免费不卡视频一区二区三区| 久久综合九色综合97婷婷| 亚洲一二三四区| 成人自拍视频在线观看| 日韩一区二区精品葵司在线 | 国产精品美日韩| 秋霞国产午夜精品免费视频| 91小视频在线| 国产喷白浆一区二区三区| 久久激情五月婷婷| 欧美精品tushy高清| 国产成人午夜精品影院观看视频 | 91久久精品日日躁夜夜躁欧美| 欧美岛国在线观看| 香蕉久久夜色精品国产使用方法| 成人天堂资源www在线| 欧美成人r级一区二区三区| 午夜视频在线观看一区二区三区| 99v久久综合狠狠综合久久| 国产欧美视频一区二区| 极品少妇xxxx精品少妇| 欧美日韩国产一级二级| 亚洲精品国产精华液| 99久久99久久精品国产片果冻| 亚洲国产精品高清| 国产成人av资源| 久久久精品免费免费| 国产麻豆精品在线| 欧美精品一区二区三区在线| 久久精品72免费观看| 日韩写真欧美这视频| 麻豆国产精品官网| 日韩欧美你懂的| 狠狠色综合日日| 26uuu成人网一区二区三区| 国产精品毛片无遮挡高清| 天堂久久久久va久久久久| 欧美主播一区二区三区| 亚洲欧洲综合另类在线| 色成年激情久久综合| 亚洲欧美日韩成人高清在线一区| 一本色道久久综合精品竹菊| 一二三四社区欧美黄| 欧美亚洲愉拍一区二区| 一区二区三区日韩| 欧美三级三级三级爽爽爽| 亚洲mv大片欧洲mv大片精品| 欧美一区二区国产| 九九九精品视频| 国产日韩精品一区二区浪潮av| 国产成人精品亚洲777人妖| 国产精品久久久久久亚洲毛片| 97精品超碰一区二区三区| 亚洲午夜久久久| 欧美一级久久久久久久大片| 精品一区二区免费看| 国产欧美日韩不卡| 色悠久久久久综合欧美99| 亚洲成人先锋电影| 精品国产免费久久| 成人福利在线看| 亚洲成av人片在线| 精品国产乱码久久久久久闺蜜| 国v精品久久久网| 亚洲资源中文字幕| 欧美日韩国产大片| 国产69精品久久777的优势| 国产欧美日韩三区| 一本大道久久a久久精品综合|