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

📄 ir.lst

📁 一款居于世纪民生CS6208的带TCP-IP网络功能的8位MCU内核的芯片的应用代码。
💻 LST
📖 第 1 页 / 共 5 页
字号:
 449   5                                                                                  NIC_XMIT_BUFFER[31] = NIC_RECV_BUFFER[45];
 450   5                                                                                      
 451   5                                                                           //for (i=32;i<42;i++)
 452   5                                           //     NIC_XMIT_RING[XmitPoint+i] = NIC_RECV_BUFFER[i-6];
 453   5                                                                                      
 454   5                                                                                  //destination MAC and IP address
 455   5                                                                                  NIC_XMIT_BUFFER[32] = NIC_RECV_BUFFER[26];
 456   5                                                                                  NIC_XMIT_BUFFER[33] = NIC_RECV_BUFFER[27];
 457   5                                                                                  NIC_XMIT_BUFFER[34] = NIC_RECV_BUFFER[28];
 458   5                                                                                  NIC_XMIT_BUFFER[35] = NIC_RECV_BUFFER[29];
 459   5                                                                                  NIC_XMIT_BUFFER[36] = NIC_RECV_BUFFER[30];
 460   5                                                                                  NIC_XMIT_BUFFER[37] = NIC_RECV_BUFFER[31];
 461   5                                                                                  NIC_XMIT_BUFFER[38] = NIC_RECV_BUFFER[32];
 462   5                                                                                  NIC_XMIT_BUFFER[39] = NIC_RECV_BUFFER[33];
 463   5                                                                                  NIC_XMIT_BUFFER[40] = NIC_RECV_BUFFER[34];
 464   5                                                                                  NIC_XMIT_BUFFER[41] = NIC_RECV_BUFFER[35];
 465   5                                                                                      
 466   5                                                                                      
 467   5                                              //start xmit
 468   5                                                                                      NIC_TBCNT0 = 0x00;
 469   5                                                                              NIC_TBCNT1 = 0x01;
 470   5                                                                              NIC_CR = CR_Start|CR_Xmit;
 471   5                                                                                      //CHECK_XMIT();
 472   5                                                                                      
 473   5                                   }
 474   4                              }
 475   3                           else   if (  (NIC_RECV_BUFFER[4] == MACADDRESS[0]) //MAC ADDRESS IP DATAGRAM
 476   3                                      &&(NIC_RECV_BUFFER[5] == MACADDRESS[1])
 477   3                                      &&(NIC_RECV_BUFFER[6] == MACADDRESS[2])
 478   3                                      &&(NIC_RECV_BUFFER[7] == MACADDRESS[3])
 479   3                                      &&(NIC_RECV_BUFFER[8] == MACADDRESS[4])
 480   3                                      &&(NIC_RECV_BUFFER[9] == MACADDRESS[5])
 481   3                                                                  &&(NIC_RECV_BUFFER[16] == 0x08)
 482   3                                      &&(NIC_RECV_BUFFER[17] == 0x00)  )
 483   3                             {                       
 484   4                                 if ( (NIC_RECV_BUFFER[34] == IPADDRESS[0])&&
 485   4                                      (NIC_RECV_BUFFER[35] == IPADDRESS[1])&&
 486   4                                      (NIC_RECV_BUFFER[36] == IPADDRESS[2])&&
 487   4                                      (NIC_RECV_BUFFER[37] == IPADDRESS[3])&&
 488   4                                      (NIC_RECV_BUFFER[PC_SENCITY]   == 'S')&&
 489   4                                      (NIC_RECV_BUFFER[PC_SENCITY+1] == 'E')&&
C51 COMPILER V7.06   IR                                                                    10/10/2003 10:51:50 PAGE 9   

 490   4                                      (NIC_RECV_BUFFER[PC_SENCITY+2] == 'N')&&
 491   4                                      (NIC_RECV_BUFFER[PC_SENCITY+3] == 'C')&&
 492   4                                      (NIC_RECV_BUFFER[PC_SENCITY+4] == 'I')&&
 493   4                                      (NIC_RECV_BUFFER[PC_SENCITY+5] == 'T')&&
 494   4                                      (NIC_RECV_BUFFER[PC_SENCITY+6] == 'Y') )
 495   4                                       {
 496   5                                                                  
 497   5                                                              switch (NIC_RECV_BUFFER[PC_COMMAND])
 498   5                                                         {
 499   6                                                    case R_INIT: 
 500   6                                                                  if ( (NIC_RECV_BUFFER[10]!=PC_MACADDRESS[0])||
 501   6                                                                       (NIC_RECV_BUFFER[11]!=PC_MACADDRESS[1])||
 502   6                                                                       (NIC_RECV_BUFFER[12]!=PC_MACADDRESS[2])||
 503   6                                                                       (NIC_RECV_BUFFER[13]!=PC_MACADDRESS[3])||
 504   6                                                                       (NIC_RECV_BUFFER[14]!=PC_MACADDRESS[4])||
 505   6                                                                       (NIC_RECV_BUFFER[15]!=PC_MACADDRESS[5])||
 506   6                                                                       (NIC_RECV_BUFFER[30]!=PC_IPADDRESS[0])||
 507   6                                                                       (NIC_RECV_BUFFER[31]!=PC_IPADDRESS[1])||
 508   6                                                                       (NIC_RECV_BUFFER[32]!=PC_IPADDRESS[2])||
 509   6                                                                       (NIC_RECV_BUFFER[33]!=PC_IPADDRESS[3])  )
 510   6                                                                     {                                          
             -               
 511   7                                                                                                                              PC_MACADDRESS[0] = NIC_RECV_BUFFER[10];
 512   7                                                                              PC_MACADDRESS[1] = NIC_RECV_BUFFER[11];
 513   7                                                                              PC_MACADDRESS[2] = NIC_RECV_BUFFER[12];
 514   7                                                                              PC_MACADDRESS[3] = NIC_RECV_BUFFER[13];
 515   7                                                                              PC_MACADDRESS[4] = NIC_RECV_BUFFER[14];
 516   7                                                                              PC_MACADDRESS[5] = NIC_RECV_BUFFER[15];
 517   7                                                                              PC_IPADDRESS[0] = NIC_RECV_BUFFER[30];
 518   7                                                                              PC_IPADDRESS[1] = NIC_RECV_BUFFER[31];
 519   7                                                                                  PC_IPADDRESS[2] = NIC_RECV_BUFFER[32];
 520   7                                                                                  PC_IPADDRESS[3] = NIC_RECV_BUFFER[33];
 521   7                                                                                                                                              CHECKSUM_UDP();
 522   7                                                                                                                                              //__bwrite_pcipmac = TRUE;
 523   7                                                                      }
 524   6                                                                                                                              //__wcommand = R_INIT;                                                                                                          
 525   6                                                                                                              UDP(R_INIT);                                                                                                                    
 526   6                                                                                                                          break;
 527   6                                                                                                case R_HELLO:
 528   6                                                                                                              //__wcommand = R_HELLO; 
 529   6                                                                                                              UDP(R_HELLO);
 530   6                                                                                                                          break;
 531   6                                                    case R_READMETER:
 532   6                                                                                                              //__wcommand = R_READMETER;
 533   6                                                                                                                              UDP(R_READMETER);
 534   6                                                                                                                              break;
 535   6                                                    case R_ALARM_ACK:
 536   6                                                                  //__bsend = FALSE;
 537   6                                                                                                              //ALARM_BUFFER[0] = 0x00;
 538   6                                                                                                                              //ALARM_BUFFER[1] = 0x00;
 539   6                                                                                                                              //ALARM_BUFFER[2] = 0x00;
 540   6                                                                                                                              //ALARM_BUFFER[3] = 0x00;
 541   6                                                                                                                              //__werror = NET_ERROR + 1;
 542   6                                                                                                              break;
 543   6                                                    case R_CANCEL_ACK:
 544   6                                                                  //__bsend = FALSE;
 545   6                                                                                                              //__werror = NET_ERROR + 1;
 546   6                                                                                                              break;
 547   6                                                    case R_CONTROL:
 548   6                                                                  //CONTROL[0] = NIC_RECV_BUFFER[PC_COMMAND+32];
 549   6                                                                  //CONTROL[1] = NIC_RECV_BUFFER[PC_COMMAND+33];
 550   6                                                                  //CONTROL[2] = NIC_RECV_BUFFER[PC_COMMAND+34];
C51 COMPILER V7.06   IR                                                                    10/10/2003 10:51:50 PAGE 10  

 551   6                                                                  //CONTROL[3] = NIC_RECV_BUFFER[PC_COMMAND+35];
 552   6                                                                  //#ifdef IO_CONTROL
 553   6                                                                  //if (CONTROL[0]&0x01) __sbtxen = 0;
 554   6                                                                  //else __sbtxen = 1;
 555   6                                                                  //if (CONTROL[0]&0x02) __sbrx = 0;
 556   6                                                                  //else __sbrx = 1;
 557   6                                                                  //if (CONTROL[0]&0x04) __sbtx = 0;
 558   6                                                                  //else __sbtx = 1;
 559   6                                                                  //#endif
 560   6                                                                  UDP(R_CONTROL);
 561   6                                                                  break;
 562   6                                                    case R_MODIFY1:
 563   6                                                                  //__wcommand = R_MODIFY1;
 564   6                                                                                                                              //METER0.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+1]*65536 + NIC_RECV_BUFFER[PC_COMMAND+2]*256 +
             - NIC_RECV_BUFFER[PC_COMMAND+3];
 565   6                                                                  //METER0.WRITE = 0xff;
 566   6                                                                                                                              UDP(R_MODIFY1);
 567   6                                                                  break;
 568   6                                                    case R_MODIFY2:
 569   6                                                                  //__wcommand = R_MODIFY2;
 570   6                                                                                                                              //METER1.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+4]*65536 + NIC_RECV_BUFFER[PC_COMMAND+5]*256 +
             - NIC_RECV_BUFFER[PC_COMMAND+6];
 571   6                                                                  //METER1.WRITE = 0xff;
 572   6                                                                                                                              UDP(R_MODIFY2);
 573   6                                                                  break;
 574   6                                                    case R_MODIFY3:
 575   6                                                                  //__wcommand = R_MODIFY3;
 576   6                                                                                                                              //METER2.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+7]*65536 + NIC_RECV_BUFFER[PC_COMMAND+8]*256 +
             - NIC_RECV_BUFFER[PC_COMMAND+9];
 577   6                                                                  //METER2.WRITE = 0xff;
 578   6                                                                                                                              UDP(R_MODIFY3);
 579   6                                                                  break;
 580   6                                                    case R_MODIFY4:
 581   6                                                                  //__wcommand = R_MODIFY4;
 582   6                                                                                                                              //METER3.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+10]*65536 + NIC_RECV_BUFFER[PC_COMMAND+11]*256
             - + NIC_RECV_BUFFER[PC_COMMAND+12];
 583   6                                                                  //METER3.WRITE = 0xff;
 584   6                                                                                                                              UDP(R_MODIFY4);
 585   6                                                                  break;
 586   6                                                    case R_MODIFY5:
 587   6                                                                  //__wcommand = R_MODIFY5;
 588   6                                                                                                                              //METER4.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+13]*65536 + NIC_RECV_BUFFER[PC_COMMAND+14]*256
             - + NIC_RECV_BUFFER[PC_COMMAND+15];
 589   6                                                                  //METER4.WRITE = 0xff;
 590   6                                                                                                                              UDP(R_MODIFY5);
 591   6                                                                  break;
 592   6                                                    case R_MODIFY6:
 593   6                                                                  //__wcommand = R_MODIFY6;
 594   6                                                                                                                              //METER5.AMOUNT = NIC_RECV_BUFFER[PC_COMMAND+16]*65536 + NIC_RECV_BUFFER[PC_COMMAND+17]*256
             - + NIC_RECV_BUFFER[PC_COMMAND+18];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -