⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rtl8019.lst

📁 51单片机下的RTL8019网络芯片的驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 458   1              TestPacket[24] = 0x01;
 459   1              TestPacket[25] = 0x3d;
 460   1      
 461   1              /* ARPPacket->IPScrAddr = NetIf->IPAddr:192.168.1.3; */
 462   1              TestPacket[26] = 0xc0;
 463   1              TestPacket[27] = 0xa8;
 464   1              TestPacket[28] = 0x01;
 465   1              TestPacket[29] = 0x03;
 466   1      
 467   1              /* MemCopy(ARPPacket->EtherDestAddr,EtherAddrAny,ETHER_ADDR_LEN); */
 468   1              TestPacket[30] = 0xFF;
 469   1              TestPacket[31] = 0xFF;
 470   1              TestPacket[32] = 0xFF;
 471   1              TestPacket[33] = 0xFF;
 472   1              TestPacket[34] = 0xFF;
 473   1              TestPacket[35] = 0xFF;
 474   1      
 475   1              TestPacket[36] = 0x52;
 476   1              TestPacket[37] = 0x54;
 477   1              TestPacket[38] = 0x4c;
 478   1              TestPacket[39] = 0x30;
 479   1              TestPacket[40] = 0x2e;
 480   1              TestPacket[41] = 0x2f;
 481   1              RTLSendPacket(TestPacket, 64);
 482   1      }
 483          
 484          
 485          
 486          void RTL8019RegTest()
 487          {
C51 COMPILER V7.06   RTL8019                                                               08/08/2007 10:09:40 PAGE 9   

 488   1              //unsigned char tmp;
 489   1              unsigned char i = 0;
 490   1              unsigned char chTmp = 0;
 491   1      
 492   1              //unsigned char xdata buff1[20] = "abcdefghijklmnopqrs";
 493   1              //xdata unsigned char buff2[20];
 494   1      
 495   1      
 496   1              //测试对RTL8019内部RAM读写是否正常
 497   1              //RTLWriteRam((unsigned int)(((unsigned int)SEND_START_PAGE0)<<8),20,buff1);
 498   1              //RTLReadRam(SEND_START_PAGE0 ,20,buff2);
 499   1      
 500   1      
 501   1              P35 = 1;
 502   1              //for(i = 0;i < 40000;i++);
 503   1              P35 = 0;
 504   1              delay(100);//for(i = 0;i < 4000;i++);
 505   1      
 506   1              /* reset: write to reset prot */
 507   1              WriteReg(0x1f,0xdd);
 508   1              //chRTLInitTmp = ReadReg(0x1f);
 509   1              delay(100);//for(i = 0;i < 2000;i++);
 510   1      
 511   1              /* init RTL registers*/
 512   1              WriteReg(0x00,0x21);
 513   1              //chRTLInitTmp = ReadReg(0x00);
 514   1      
 515   1      
 516   1      
 517   1      
 518   1               //测试对RTL8019内部寄存器的读写是否正常
 519   1               while(chTmp <= 0xff)
 520   1               {
 521   2                    //1
 522   2                    for(i = 0;i < 6;i ++)
 523   2                    {
 524   3                      XBYTE[0x7a00 + chTmp + i] = 0;
 525   3                      XBYTE[0x7a00 + chTmp + i + 1] = 0;
 526   3                      XBYTE[0x7a00 + chTmp + i + 2] = 0;
 527   3                      XBYTE[0x7a00 + chTmp + i + 3] = 0;
 528   3                      XBYTE[0x7a00 + chTmp + i + 4] = 0;
 529   3                      XBYTE[0x7a00 + chTmp + i + 5] = 0;
 530   3                      RTLPage(1);
 531   3                      WriteReg(0x01,0x4c);
 532   3                      WriteReg(0x02,0x54);
 533   3                      WriteReg(0x03,0x52);
 534   3                      WriteReg(0x04,0x4c);
 535   3                      WriteReg(0x05,0x54);
 536   3                      WriteReg(0x06,0x52);
 537   3                      XBYTE[0x7a00 + chTmp + i] = ReadReg(0x01);
 538   3                      XBYTE[0x7a00 + chTmp + i + 1] = ReadReg(0x02);
 539   3                      XBYTE[0x7a00 + chTmp + i + 2] = ReadReg(0x03);
 540   3                      XBYTE[0x7a00 + chTmp + i + 3] = ReadReg(0x04);
 541   3                      XBYTE[0x7a00 + chTmp + i + 4] = ReadReg(0x05);
 542   3                      XBYTE[0x7a00 + chTmp + i + 5] = ReadReg(0x06);
 543   3                      chTmp ++;
 544   3                     }
 545   2      
 546   2                     //2
 547   2                    for(i = 0;i < 6;i ++)
 548   2                    {
 549   3                      XBYTE[0x7a00 + chTmp + i] = 0;
C51 COMPILER V7.06   RTL8019                                                               08/08/2007 10:09:40 PAGE 10  

 550   3                      XBYTE[0x7a00 + chTmp + i + 1] = 0;
 551   3                      XBYTE[0x7a00 + chTmp + i + 2] = 0;
 552   3                      XBYTE[0x7a00 + chTmp + i + 3] = 0;
 553   3                      XBYTE[0x7a00 + chTmp + i + 4] = 0;
 554   3                      XBYTE[0x7a00 + chTmp + i + 5] = 0;
 555   3                      RTLPage(1);
 556   3                      WriteReg(0x01,0x4c);
 557   3                      WriteReg(0x02,0x54);
 558   3                      WriteReg(0x03,0x52);
 559   3                      WriteReg(0x04,0x4c);
 560   3                      WriteReg(0x05,0x54);
 561   3                      WriteReg(0x06,0x52);
 562   3                      XBYTE[0x7a00 + chTmp + i] = ReadReg(0x01);
 563   3                      XBYTE[0x7a00 + chTmp + i + 1] = ReadReg(0x02);
 564   3                      XBYTE[0x7a00 + chTmp + i + 2] = ReadReg(0x03);
 565   3                      XBYTE[0x7a00 + chTmp + i + 3] = ReadReg(0x04);
 566   3                      XBYTE[0x7a00 + chTmp + i + 4] = ReadReg(0x05);
 567   3                      XBYTE[0x7a00 + chTmp + i + 5] = ReadReg(0x06);
 568   3                      chTmp ++;
 569   3                     }
 570   2      
 571   2                     //3
 572   2                    for(i = 0;i < 6;i ++)
 573   2                    {
 574   3                      XBYTE[0x7a00 + chTmp + i] = 0;
 575   3                      XBYTE[0x7a00 + chTmp + i + 1] = 0;
 576   3                      XBYTE[0x7a00 + chTmp + i + 2] = 0;
 577   3                      XBYTE[0x7a00 + chTmp + i + 3] = 0;
 578   3                      XBYTE[0x7a00 + chTmp + i + 4] = 0;
 579   3                      XBYTE[0x7a00 + chTmp + i + 5] = 0;
 580   3                      RTLPage(1);
 581   3                      WriteReg(0x01,0x4c);
 582   3                      WriteReg(0x02,0x54);
 583   3                      WriteReg(0x03,0x52);
 584   3                      WriteReg(0x04,0x4c);
 585   3                      WriteReg(0x05,0x54);
 586   3                      WriteReg(0x06,0x52);
 587   3                      XBYTE[0x7a00 + chTmp + i] = ReadReg(0x01);
 588   3                      XBYTE[0x7a00 + chTmp + i + 1] = ReadReg(0x02);
 589   3                      XBYTE[0x7a00 + chTmp + i + 2] = ReadReg(0x03);
 590   3                      XBYTE[0x7a00 + chTmp + i + 3] = ReadReg(0x04);
 591   3                      XBYTE[0x7a00 + chTmp + i + 4] = ReadReg(0x05);
 592   3                      XBYTE[0x7a00 + chTmp + i + 5] = ReadReg(0x06);
 593   3                      chTmp ++;
 594   3                     }
 595   2      
 596   2      
 597   2      
 598   2      
 599   2      
 600   2                 }
 601   1      }
C51 COMPILER V7.06   RTL8019                                                               08/08/2007 10:09:40 PAGE 11  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


TestPacket . . . . . . . . . . . . . .  PUBLIC   XDATA  ARRAY    0000H  42
P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
DWORD. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
InSending. . . . . . . . . . . . . . .  STATIC   XDATA  U_CHAR   002AH  1
RTL8019RegTest . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  chTmp. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
_WriteReg. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0009H  -----
  chPort . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  chValue. . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  chWriteRegTmp. . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0000H  1
  RTLAddr. . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
StartPageOfPacket. . . . . . . . . . .  STATIC   XDATA  U_CHAR   002BH  1
BOOL . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
_?RTLReadRam . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  address. . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0003H  2
  size . . . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0005H  2
  buff . . . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0007H  2
  Endp . . . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0000H  2
  PrePage. . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0002H  1
LastSendStartPage. . . . . . . . . . .  STATIC   XDATA  U_CHAR   002CH  1
BYTE . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_CHAR   -----  1
_?RTLReceivePacket . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  curr . . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0000H  1
  bnry . . . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0001H  1
  address. . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0002H  2
  PacketSize . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0004H  2
  MemHead. . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0006H  2
P35. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
WORD . . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
_?RTLWriteRam. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  address. . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0003H  2
  size . . . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0005H  2
  buff . . . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0007H  2
  Endp . . . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0000H  2
  PrePage. . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0002H  1
_RTLPage . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0050H  -----
  chPageNum. . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
  chTmp. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
RTL8019SendPacketTest. . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
SMemHead . . . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  9
  pNext. . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0000H  2
  pPre . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0002H  2
  used . . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  pStart . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0005H  2
  pEnd . . . . . . . . . . . . . . . .  MEMBER   -----  PTR      0007H  2
_?MemAllocate. . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
_delay . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
Head . . . . . . . . . . . . . . . . .  STATIC   XDATA  ARRAY    002DH  4
_?RTLSendPacket. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  buffer . . . . . . . . . . . . . . .  AUTO     IDATA  PTR      0002H  2
  size . . . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0004H  2
  StartPage. . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0000H  1
C51 COMPILER V7.06   RTL8019                                                               08/08/2007 10:09:40 PAGE 12  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


  PrePage. . . . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0001H  1
_?RTL8019Init. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  chRTLInitTmp . . . . . . . . . . . .  AUTO     IDATA  U_CHAR   0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     IDATA  U_INT    0001H  2
_ReadReg . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0018H  -----
  chPort . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  chReadRegTmp . . . . . . . . . . . .  AUTO     XDATA  U_CHAR   0000H  1
  RTLAddr. . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0000H  2


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2342    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =     49       2
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   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 + -