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

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

?? rtl8019.lst

?? 運行環境是keil。這是一個實現嵌入式TCP/IP的程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
 246          {
 247   1              unsigned char i;
 248   1              unsigned char bnry;
 249   1              
 250   1              unsigned char pageheader[4];
 251   1              unsigned int rxlen;
 252   1              
 253   1              // check for and handle an overflow
 254   1              processRTL8019Interrupt();
 255   1              
 256   1              // read CURR from page 1
 257   1              writeRTL(CR,0x62);
 258   1              i = readRTL(CURR);
 259   1              
 260   1              // return to page 0
 261   1              writeRTL(CR,0x22);
 262   1              
 263   1              // read the boundary register - pointing to the beginning of the packet
 264   1              bnry = readRTL(BNRY) ;
 265   1              
 266   1              // return if there is no packet in the buffer
 267   1              if( bnry == i )
 268   1                      return 0;
 269   1              
 270   1      
 271   1              // clear the packet received interrupt flag
 272   1              writeRTL(ISR, (1<<ISR_PRX));
 273   1              
 274   1              // the boundary pointer is invalid, reset the contents of the buffer and exit
 275   1              if( (bnry >= RXSTOP_INIT) || (bnry < RXSTART_INIT) )
 276   1              {
 277   2                      writeRTL(BNRY, RXSTART_INIT);
 278   2                      writeRTL(CR, 0x62);
 279   2                      writeRTL(CURR, RXSTART_INIT);
 280   2                      writeRTL(CR, 0x22);
 281   2                      
 282   2                      return 0;
 283   2              }
 284   1      
 285   1              // initiate DMA to transfer the RTL8019 packet header
 286   1          writeRTL(RBCR0, 4);
 287   1          writeRTL(RBCR1, 0);
 288   1          writeRTL(RSAR0, 0);
 289   1          writeRTL(RSAR1, bnry);
 290   1          writeRTL(CR, 0x0A);
 291   1              for(i=0;i<4;i++)
 292   1                      pageheader[i] = readRTL(RDMAPORT);
 293   1              
 294   1              // end the DMA operation
 295   1          writeRTL(CR, 0x22);
 296   1          for(i = 0; i <= 20; i++)
 297   1              if(readRTL(ISR) & 1<<6)
 298   1                  break;
 299   1          writeRTL(ISR, 1<<6);
 300   1      
 301   1              
 302   1              rxlen = (pageheader[enetpacketLenH]<<8) + pageheader[enetpacketLenL];
C51 COMPILER V7.06   RTL8019                                                               04/05/2006 12:13:02 PAGE 6   

 303   1              nextPage = pageheader[nextblock_ptr] ;
 304   1              
 305   1              currentRetreiveAddress = (bnry<<8) + 4;
 306   1              
 307   1              // if the nextPage pointer is invalid, the packet is not ready yet - exit
 308   1              if( (nextPage >= RXSTOP_INIT) || (nextPage < RXSTART_INIT) )
 309   1                      return 0;
 310   1          
 311   1          return rxlen-4;
 312   1      }
 313          
 314          
 315          void RTL8019retreivePacketData(unsigned char * localBuffer, unsigned int length)
 316          {
 317   1              unsigned int i;
 318   1              
 319   1              // initiate DMA to transfer the data
 320   1          writeRTL(RBCR0, (unsigned char)length);
 321   1          writeRTL(RBCR1, (unsigned char)(length>>8));
 322   1          writeRTL(RSAR0, (unsigned char)currentRetreiveAddress);
 323   1          writeRTL(RSAR1, (unsigned char)(currentRetreiveAddress>>8));
 324   1          writeRTL(CR, 0x0A);
 325   1              for(i=0;i<length;i++)
 326   1                      localBuffer[i] = readRTL(RDMAPORT);
 327   1      
 328   1              // end the DMA operation
 329   1          writeRTL(CR, 0x22);
 330   1          for(i = 0; i <= 20; i++)
 331   1              if(readRTL(ISR) & 1<<6)
 332   1                  break;
 333   1          writeRTL(ISR, 1<<6);
 334   1          
 335   1          currentRetreiveAddress += length;
 336   1          if( currentRetreiveAddress >= 0x6000 )
 337   1              currentRetreiveAddress = currentRetreiveAddress - (0x6000-0x4600) ;
 338   1      }
 339          
 340          
 341          
 342          void RTL8019endPacketRetreive(void)
 343          {
 344   1              unsigned char i;
 345   1      
 346   1              // end the DMA operation
 347   1          writeRTL(CR, 0x22);
 348   1          for(i = 0; i <= 20; i++)
 349   1              if(readRTL(ISR) & 1<<6)
 350   1                  break;
 351   1          writeRTL(ISR, 1<<6);
 352   1      
 353   1              // set the boundary register to point to the start of the next packet
 354   1          writeRTL(BNRY, nextPage);
 355   1      }
 356          //-----------------------------------------
 357          void overrun(void)
 358          {
 359   1              unsigned char data_L, resend;   
 360   1          INT16U count;
 361   1      
 362   1              data_L = readRTL(CR);
 363   1              writeRTL(CR, 0x21);
 364   1      //      Delay_1ms(2);
C51 COMPILER V7.06   RTL8019                                                               04/05/2006 12:13:02 PAGE 7   

 365   1          for(count=0;count<20000;count++);
 366   1              writeRTL(RBCR0, 0x00);
 367   1              writeRTL(RBCR1, 0x00);
 368   1              if(!(data_L & 0x04))
 369   1                      resend = 0;
 370   1              else if(data_L & 0x04)
 371   1              {
 372   2                      data_L = readRTL(ISR);
 373   2                      if((data_L & 0x02) || (data_L & 0x08))
 374   2                      resend = 0;
 375   2                  else
 376   2                      resend = 1;
 377   2              }
 378   1              
 379   1              writeRTL(TCR, 0x02);
 380   1              writeRTL(CR, 0x22);
 381   1              writeRTL(BNRY, RXSTART_INIT);
 382   1              writeRTL(CR, 0x62);
 383   1              writeRTL(CURR, RXSTART_INIT);
 384   1              writeRTL(CR, 0x22);
 385   1              writeRTL(ISR, 0x10);
 386   1              writeRTL(TCR, TCR_INIT);
 387   1              
 388   1              writeRTL(ISR, 0xFF);
 389   1      }
 390          
 391          
 392          
 393          
 394          
 395          
 396          void initRTL8019(void)
 397          {
 398   1      //    INT8U  temp;
 399   1          INT16U COUNT;
 400   1              RTL8019setupPorts();
 401   1              
 402   1              HARD_RESET_RTL8019();
 403   1              
 404   1              // do soft reset
 405   1              writeRTL( ISR, readRTL(ISR) ) ;
 406   1      //      Delay_10ms(5);
 407   1      
 408   1          for(COUNT=0;COUNT<15000;COUNT++);
 409   1      
 410   1              writeRTL(CR,0x21);       // stop the NIC, abort DMA, page 0
 411   1      //      Delay_1ms(2);               // make sure nothing is coming in or going out
 412   1          for(COUNT=0;COUNT<2000;COUNT++);
 413   1      
 414   1              writeRTL(DCR, DCR_INIT);    // 0x58
 415   1              writeRTL(RBCR0,0x00);
 416   1              writeRTL(RBCR1,0x00);
 417   1              writeRTL(RCR,0x04);
 418   1              writeRTL(TPSR, TXSTART_INIT);
 419   1              writeRTL(TCR,0x02);
 420   1              writeRTL(PSTART, RXSTART_INIT);
 421   1              writeRTL(BNRY, RXSTART_INIT);
 422   1              writeRTL(PSTOP, RXSTOP_INIT);
 423   1              writeRTL(CR, 0x61);
 424   1      //      Delay_1ms(2);
 425   1          for(COUNT=0;COUNT<2000;COUNT++);
 426   1              writeRTL(CURR, RXSTART_INIT);
C51 COMPILER V7.06   RTL8019                                                               04/05/2006 12:13:02 PAGE 8   

 427   1              
 428   1              writeRTL(PAR0+0, MYMAC_0);
 429   1              writeRTL(PAR0+1, MYMAC_1);
 430   1              writeRTL(PAR0+2, MYMAC_2);
 431   1              writeRTL(PAR0+3, MYMAC_3);
 432   1              writeRTL(PAR0+4, MYMAC_4);
 433   1              writeRTL(PAR0+5, MYMAC_5);
 434   1      /*
 435   1      temp=readRTL(CR+0);
 436   1      Uart0_printR(&temp,1);
 437   1      temp=readRTL(PAR0+0);
 438   1      Uart0_printR(&temp,1);
 439   1      temp=readRTL(PAR0+1);
 440   1      Uart0_printR(&temp,1);*/
 441   1                
 442   1              writeRTL(CR,0x21);
 443   1              writeRTL(DCR, DCR_INIT);
 444   1              writeRTL(CR,0x22);
 445   1              writeRTL(ISR,0xFF);
 446   1              writeRTL(IMR, IMR_INIT);
 447   1              writeRTL(TCR, TCR_INIT);
 448   1              
 449   1              writeRTL(CR, 0x22);     // start the NIC
 450   1      
 451   1      }
 452          
 453          
 454          void processRTL8019Interrupt(void)
 455          {
 456   1              unsigned char byte = readRTL(ISR);
 457   1              
 458   1              if( byte & (1<<ISR_OVW) )
 459   1                      overrun();
 460   1      
 461   1      }
 462          
 463          /*
 464          unsigned char RTL8019ReceiveEmpty(void)
 465          {
 466                  unsigned char temp;
 467          
 468                  // read CURR from page 1
 469                  writeRTL(CR,0x62);
 470                  temp = readRTL(CURR);
 471                  
 472                  // return to page 0
 473                  writeRTL(CR,0x22);
 474                  
 475                  return ( readRTL(BNRY) == temp );
 476                  
 477          }*/
 478          
 479          void RTl8019_int(void) interrupt 0
 480          { // Uart0_print("pack in\n");
 481   1         OSSemPost(Sem_RecPackage);
 482   1      }
 483          
 484          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1266    ----
C51 COMPILER V7.06   RTL8019                                                               04/05/2006 12:13:02 PAGE 9   

   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =      3      20
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   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一区二区三区免费野_久草精品视频
久久婷婷色综合| 3d动漫精品啪啪| 久久夜色精品国产噜噜av| 一区二区三区不卡视频在线观看| 麻豆成人在线观看| 福利一区福利二区| 久久九九99视频| 国产精品主播直播| 久久久久久免费网| 粉嫩av一区二区三区在线播放 | 欧美在线视频你懂得| 精品国产乱码久久久久久久| 亚洲精品老司机| 91亚洲精品久久久蜜桃网站| 国产精品欧美一级免费| 国产精品中文有码| 国产精品五月天| 色天使色偷偷av一区二区| 亚洲视频图片小说| 欧美日韩日日夜夜| 亚洲午夜久久久久久久久电影网| 在线欧美小视频| 蜜桃在线一区二区三区| 国产精品午夜在线| 欧美日韩精品一区视频| 看电视剧不卡顿的网站| 久久久不卡影院| 色噜噜久久综合| 福利一区二区在线| 亚洲综合精品自拍| 欧美精品一级二级| 国产99精品视频| 日本午夜一区二区| 国产精品美女久久久久久2018| 91在线免费播放| 国产成人综合自拍| 精一区二区三区| 天天亚洲美女在线视频| 337p日本欧洲亚洲大胆精品| gogogo免费视频观看亚洲一| 日韩成人一级片| 亚洲欧洲三级电影| 日韩午夜激情av| 日韩欧美国产电影| 欧美一区二区视频观看视频| 99麻豆久久久国产精品免费| 国产白丝精品91爽爽久久| 欧美日韩国产精品成人| 久草在线在线精品观看| 精品少妇一区二区三区视频免付费| 一本色道久久综合亚洲91| 国产高清精品在线| 国产精品久久久久影院老司| 欧美视频第二页| 6080国产精品一区二区| 欧美成人福利视频| 欧美精品一区二区在线播放| 日韩欧美在线1卡| 91精品久久久久久蜜臀| 久久久久高清精品| 日本一区二区三区电影| 久久免费电影网| 国产精品乱人伦中文| 亚洲美女区一区| 偷拍日韩校园综合在线| 狠狠网亚洲精品| 高潮精品一区videoshd| 日韩一级二级三级精品视频| 久久在线观看免费| 亚洲欧洲精品天堂一级| 亚洲国产aⅴ天堂久久| 久久99国内精品| 99精品视频一区二区三区| 欧美三级蜜桃2在线观看| 欧美成人性福生活免费看| 椎名由奈av一区二区三区| 麻豆精品一区二区| 欧美三日本三级三级在线播放| 欧美一区二区三区四区五区| 综合久久综合久久| 国产不卡视频一区二区三区| 欧美老肥妇做.爰bbww视频| 国产日本亚洲高清| 国内精品国产成人| 精品国产乱码久久久久久老虎 | 亚洲蜜臀av乱码久久精品| 久久精品99国产精品日本| 国内久久精品视频| 色婷婷狠狠综合| 久久精品视频免费观看| 国产精品自拍在线| 精品盗摄一区二区三区| 裸体在线国模精品偷拍| 欧美一区二区三区在线电影| 肉肉av福利一精品导航| 欧美三级日韩三级| 中文字幕在线观看不卡| 国产 欧美在线| 久久九九全国免费| 成人永久免费视频| 国产日韩欧美精品一区| 国产成a人亚洲精| 亚洲线精品一区二区三区| 欧美片网站yy| 国产一区二区在线视频| 欧美国产欧美综合| 欧美一区二区三区播放老司机| 久久99国产精品免费| 亚洲国产综合在线| 久久精品人人做人人综合| 在线成人免费观看| 成人小视频在线| 美国av一区二区| 香蕉乱码成人久久天堂爱免费| 国产精品全国免费观看高清| 欧美刺激午夜性久久久久久久| 欧美三级日韩三级国产三级| 成人免费看黄yyy456| 国产91精品精华液一区二区三区| 日韩电影在线一区二区| 亚洲免费大片在线观看| 久久久国产一区二区三区四区小说| 欧美日韩视频不卡| 色婷婷av一区二区三区之一色屋| 精品一区二区三区视频| 理论电影国产精品| 国产精品资源站在线| 精品一区二区三区免费观看| 蜜臀av性久久久久蜜臀av麻豆| 全国精品久久少妇| 国产精品自在在线| 成+人+亚洲+综合天堂| 91在线国产福利| 欧美三级中文字幕| 日韩午夜在线播放| 中文av一区二区| 亚洲一区日韩精品中文字幕| 日本v片在线高清不卡在线观看| 亚洲成av人片观看| 九九**精品视频免费播放| 成人avav在线| 91麻豆精品国产91久久久使用方法 | 国产精品黄色在线观看| 欧美综合在线视频| 欧美草草影院在线视频| 久久久久青草大香线综合精品| 亚洲另类在线一区| 狠狠狠色丁香婷婷综合久久五月| eeuss鲁一区二区三区| 欧美成人精品高清在线播放| 亚洲色图都市小说| 精品在线播放午夜| 日韩欧美高清dvd碟片| 亚洲第一久久影院| 一本色道a无线码一区v| 欧美国产成人精品| 久久国产尿小便嘘嘘| 成人av中文字幕| 日韩一区二区电影网| 日韩国产欧美在线观看| 色综合久久中文综合久久97| 日韩视频在线一区二区| 伊人性伊人情综合网| 欧美在线一二三四区| 亚洲丝袜制服诱惑| 成人免费毛片片v| 亚洲精品成人a在线观看| 91麻豆.com| 亚洲欧美日韩精品久久久久| 91视频你懂的| 五月天国产精品| 欧美视频一区二区三区| 久久福利视频一区二区| 精品国产91洋老外米糕| 热久久一区二区| 国产女人18毛片水真多成人如厕 | 中文字幕av一区二区三区高| 国产美女精品人人做人人爽| 欧美一二三区精品| 国产揄拍国内精品对白| 欧美精品一区在线观看| 成人晚上爱看视频| 日韩精品久久理论片| 2020日本不卡一区二区视频| 成人免费的视频| 亚洲国产一二三| 中文在线免费一区三区高中清不卡| 91亚洲精品久久久蜜桃| 久久精品久久精品| 亚洲国产日产av| 欧美激情在线一区二区| 在线亚洲+欧美+日本专区| 国产大片一区二区| 亚洲www啪成人一区二区麻豆| 国产区在线观看成人精品| 欧美日韩精品福利| 欧美性高清videossexo| 高潮精品一区videoshd| 蜜桃精品视频在线观看| 亚洲高清久久久|