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

📄 uip_task.lst

📁 运行环境是keil。这是一个实现嵌入式TCP/IP的程序
💻 LST
字号:
C51 COMPILER V7.06   UIP_TASK                                                              04/05/2006 12:13:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE UIP_TASK
OBJECT MODULE PLACED IN .\DEBUG\uip_task.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE uip_task.c LARGE OPTIMIZE(6,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\DEBUG\
                    -uip_task.lst) OBJECT(.\DEBUG\uip_task.obj)

stmt level    source

   1          #include    <CORE\includes.h>
   2          #include "serial.h"
   3          #include <LCD\LCD.h>
   4          
   5          #include <global_para.h>
   6          
   7          #include "uip\uip_arp.h"
   8          #include "uip\uip.h"
   9          #include "uip\myapp\myapp.h"
  10          #include <RTL8019\rtl8019dev.h>
  11          #include <serial.h>
  12          
  13          #define BUF ((struct uip_eth_hdr *)&uip_buf[0])
  14          
  15          void TcpIp_Init()
  16          {
  17   1         uip_init();
  18   1         myapp_init();
  19   1         uip_arp_init();
  20   1      
  21   1         RTL8019dev_init();
  22   1      }
  23          /*---------------------------------------------------------------
  24           Receive (Ethernet)ip package to uip_buf[UIP_BUFSIZE], uip_len
  25          ----------------------------------------------------------------*/
  26          void TASK_UipRec(void *ppdata)  reentrant//receive slip package;
  27          {
  28   1           INT8U err;
  29   1           err=err;
  30   1           ppdata=ppdata;
  31   1       //    LCD_print("task recieve\n");
  32   1           while(1)
  33   1           {  // Uart0_print("RecT\n");
  34   2                   //OSSemPend(Sem_RecPackage, 0, &err);
  35   2               uip_len = RTL8019dev_poll();
  36   2                       if(uip_len)
  37   2                       {//Uart0_print("0nep\n");
  38   3                          OSSemPost(Sem_ProcessPackage);
  39   3                              }
  40   2           }//while(1);
  41   1      }
  42          //-------------------------------------------------------------------
  43          void TASK_UipProcess(void *ppdata)  reentrant//send slip package;
  44          {
  45   1          INT8U err;
  46   1          ppdata=ppdata;
  47   1          while(1)
  48   1          {
  49   2              OSSemPend(Sem_ProcessPackage, 0, &err);
  50   2           //   Uart0_print("ProT\n");
  51   2             if(BUF->type == htons(UIP_ETHTYPE_IP))
  52   2             {
  53   3                 // add the source to the ARP cache
  54   3                 // also correctly set the ethernet packet length before processing
C51 COMPILER V7.06   UIP_TASK                                                              04/05/2006 12:13:00 PAGE 2   

  55   3                 uip_arp_ipin();
  56   3                 uip_process(UIP_DATA);
  57   3                 // transmit a packet, if one is ready
  58   3                 if(uip_len > 0)
  59   3                 {
  60   4                   uip_arp_out();
  61   4                   RTL8019dev_send();
  62   4                 }
  63   3             }
  64   2            // process an ARP packet
  65   2            else if(BUF->type == htons(UIP_ETHTYPE_ARP))
  66   2            {
  67   3              uip_arp_arpin();
  68   3              // transmit a packet, if one is ready
  69   3              if(uip_len > 0)
  70   3                RTL8019dev_send();
  71   3            }
  72   2      
  73   2          }//while(1)
  74   1      }
  75          void TASK_UipTimeOut(void *ppdata)  reentrant//send slip package;
  76          {
  77   1          INT8U i;
  78   1          ppdata=ppdata;
  79   1          while(1)
  80   1          {
  81   2              //      Uart0_print("RecT\n");
  82   2                  OSTimeDly(100);  //DELAY 1 S; 50*0.02
  83   2              //      Uart0_print("TimT\n");
  84   2              for(i = 0; i < UIP_CONNS; ++i)
  85   2                  {
  86   3                     uip_periodic(i);
  87   3                     if(uip_len > 0)
  88   3                  {
  89   4                     uip_arp_out();
  90   4                     RTL8019dev_send();
  91   4                  }
  92   3              }
  93   2          }
  94   1      }
  95          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    386    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   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 + -