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

📄 example1.lst

📁 移植到51单片机的UIP代码
💻 LST
字号:
C51 COMPILER V8.08   EXAMPLE1                                                              02/23/2007 20:23:09 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE EXAMPLE1
OBJECT MODULE PLACED IN example1.OBJ
COMPILER INVOKED BY: f:\Keil\C51\BIN\C51.EXE example1.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <stdio.h>
   2          #include "uip.h"
   3          #include "uipopt.h"
   4          #include "uip_arch.h"
   5          #include "example1.h"
   6          #include "string.h"
   7          
   8          unsigned char sbufOut[1462];
   9          data unsigned int sbufLen=0;
  10          bit sbufBit=1;
  11          extern bit BitServer;
  12          u16_t RemoteIpAddr[2]={ (210<<8) + 41, (232<<8) + 143 };
  13          u16_t RemoteTcpPort=HTONS(1236);
  14          u16_t LocalTcpPort=HTONS(1234);
  15          
  16          void example1_init(void)
  17          {
  18   1      /*      if( BitServer )
  19   1                      uip_listen( LocalTcpPort );
  20   1              else
  21   1                      uip_connect( RemoteIpAddr, RemoteTcpPort );
  22   1      
  23   1      */
  24   1          struct uip_udp_conn *udp_conn;
  25   1          u16_t ipaddr[2];//定义IP类型变量
  26   1          uip_ipaddr(ipaddr, 192,168,1,168);   //远程IP为210.29.104.88
  27   1          udp_conn = uip_udp_new(&ipaddr, HTONS(1005));//建立到远程ipaddr,端口1235的连接
  28   1      }
  29          
  30          /*******************************************
  31                          added by  ye 2008.12.11 
  32          ********************************************/
  33          
  34          
  35          /*---------------------------------------------------------------------------*/
  36          /** \internal
  37          * The main UDP function.
  38          */
  39          /*---------------------------------------------------------------------------*/
  40           
  41          void udp_appcall(void)
  42          {    
  43   1      //    char string1[]="hello! ";
  44   1      //       char *nptr;
  45   1      //       nptr=(char *)uip_appdata;
  46   1           if(uip_poll()|| (sbufBit) ) {
  47   2      //       memcpy(nptr,string1,8);
  48   2      //  uip_udp_send(8);
  49   2      //   udp_send("hello\n",6);//定时时间到,发hello 
  50   2      //                      BufUartStr( uip_appdata, uip_len );
  51   2      //                      printf("\nUDP poll!\n");
  52   2                      sbufLen = 0;
  53   2                      while(BufUartRtest())
*** WARNING C206 IN LINE 53 OF EXAMPLE1.C: 'BufUartRtest': missing function-prototype
  54   2                      {
C51 COMPILER V8.08   EXAMPLE1                                                              02/23/2007 20:23:09 PAGE 2   

  55   3                              sbufOut[sbufLen++] = BufUartRin();
*** WARNING C206 IN LINE 55 OF EXAMPLE1.C: 'BufUartRin': missing function-prototype
  56   3                              if( sbufLen >= 1460 ) break;
  57   3                      }
  58   2                      if( sbufLen ){
  59   3                              BufUartStr( sbufOut,sbufLen );
  60   3                              memcpy(uip_appdata,sbufOut,sbufLen); 
  61   3                      BufUartStr( uip_appdata,sbufLen );
  62   3                              uip_udp_send(sbufLen);  
  63   3              
  64   3                              sbufBit = 0;
  65   3                              }
  66   2                      else
  67   2                              sbufBit = 1;
  68   2          }
  69   1           if(uip_newdata()) //如果指定IP的指定端口发来数据
  70   1           {
  71   2      //  memcpy(nptr,string1,8);
  72   2      //uip_appdata=&string1;
  73   2       uip_udp_send(uip_len);
  74   2      
  75   2       BufUartStr( uip_appdata, uip_len );
  76   2      //       newdata();
  77   2      //       udp_send(nptr,len);  
  78   2      //                      BufUartStr( uip_appdata, uip_len );
  79   2      //                      printf("\nUDP received !\n");
  80   2           }
  81   1      }
  82          
  83          /*******************************************
  84                          add  end!
  85          ********************************************/
  86          
  87          
  88          void example1_app(void)
  89          {
  90   1      
  91   1              if( uip_connected() )
  92   1              {
  93   2      /*
  94   2                      if( (uip_conn->lport==HTONS(LocalTcpPort)) )
  95   2                      {
  96   2                              BufUartStr("\rS Link\r", 8 );
  97   2                      }
  98   2                      else
  99   2                      {
 100   2                              BufUartStr("\rC Link\r", 8 );
 101   2                      }
 102   2      */
 103   2                      return;
 104   2              }
 105   1      
 106   1              if(uip_newdata())       //recive new data
 107   1              {
 108   2      /*
 109   2                      if( (uip_conn->lport==HTONS(LocalTcpPort)) )
 110   2                      {
 111   2                              BufUartStr("\rServer\r", 8 );
 112   2                      }
 113   2                      else
 114   2                      {
 115   2                              BufUartStr("\rClient\r", 8 );
C51 COMPILER V8.08   EXAMPLE1                                                              02/23/2007 20:23:09 PAGE 3   

 116   2                      }
 117   2      */
 118   2                      BufUartStr( uip_appdata, uip_len );
 119   2      
 120   2              }
 121   1                      
 122   1              if( uip_poll() || uip_acked() || (sbufBit) )    //can send new data
 123   1              {
 124   2                      sbufLen = 0;
 125   2                      while(BufUartRtest())
 126   2                      {
 127   3                              sbufOut[sbufLen++] = BufUartRin();
 128   3                              if( sbufLen >= 1460 ) break;
 129   3                      }
 130   2                      if( sbufLen )
 131   2                      {
 132   3                              uip_send( sbufOut, sbufLen );
 133   3                              sbufBit = 0;
 134   3                      }
 135   2                      else
 136   2                              sbufBit = 1;
 137   2              }
 138   1      
 139   1              if( uip_rexmit() ) //retransmit old data
 140   1              {
 141   2                      uip_send( sbufOut, sbufLen );
 142   2              }
 143   1      
 144   1              if( uip_timedout() || uip_closed() || uip_aborted())
 145   1              {
 146   2                      /*
 147   2                      if(uip_closed())
 148   2                              BufUartStr("\rClosed ", 8);
 149   2                      else
 150   2                              BufUartStr("\rTimedout", 9);
 151   2                      */
 152   2      
 153   2                      /*
 154   2                      if( uip_conn->lport == HTONS(LocalTcpPort) )
 155   2                      {
 156   2                              //BufUartStr(" Server\r", 8);
 157   2                              uip_unlisten( LocalTcpPort );
 158   2                              uip_listen( LocalTcpPort );
 159   2                      }
 160   2                      else
 161   2                      {
 162   2                              //BufUartStr(" Client\r", 8);
 163   2                              uip_connect( RemoteIpAddr, RemoteTcpPort );
 164   2                      }
 165   2                      */
 166   2      
 167   2                      if( BitServer )
 168   2                      {
 169   3                              //BufUartStr(" Server\r", 8);
 170   3                              uip_unlisten( LocalTcpPort );
 171   3                              uip_listen( LocalTcpPort );
 172   3                      }
 173   2                      else
 174   2                      {
 175   3                              //BufUartStr(" Client\r", 8);
 176   3                              uip_connect( RemoteIpAddr, RemoteTcpPort );
 177   3                      }
C51 COMPILER V8.08   EXAMPLE1                                                              02/23/2007 20:23:09 PAGE 4   

 178   2              }
 179   1              
 180   1      
 181   1              /*
 182   1              if(uip_aborted())
 183   1              {
 184   1                      BufUartStr("\rAborted\r", 9);
 185   1              }
 186   1              */      
 187   1      }
 188          
 189          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    437    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   1470       7
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  2 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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