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

📄 http.c

📁 嵌入式TCP/IP模块
💻 C
📖 第 1 页 / 共 4 页
字号:
                 Temp[i]=web1[i];i++;j--;              
               }	
	 	       send( 0,Temp,sizeof(web1), 0 );  
		       ReceiveCheck();	
		          return;              
             } 
             if(Temp[a]==0x0d)
                 break; 
         }
     }//打开写保护不用输入密码
	 send( 0,(uint8 *)webM ,sizeof(webM), 0 ); //密码一致 
	 ReceiveCheck();	        
}












/*******************************************************/
void ChangePWMenu(void)
{
	 send( 0,(uint8 *)httpweb ,sizeof(httpweb), 0 );   
	 if(ReceiveCheck()==FALSE)
	     return;
	 send( 0,(uint8 *)webPW ,sizeof(webPW), 0 );  
	 ReceiveCheck();
}








/******************************************************/
void ApplyConMenu(void)
{
	 send( 0,(uint8 *)httpweb ,sizeof(httpweb), 0 );   
	 if(ReceiveCheck()==FALSE)
	     return;
	 send( 0,(uint8 *)ConfigSu ,sizeof(ConfigSu), 0 );  
	 ReceiveCheck();
	 close(0);
	 while(1);
}











/******************************************************/
void SendConfigMenu(void)
{
     uint8 a,b,c,d,e,x,i;
     uint16 j;
     uint8 Temp[1400];
     uint32 baudrate,B;
     uint8 *p;

     ReadEEprom(Temp,MACADDRESS,6);
     for(i=0;i<6;i++)
          mynetp.mac[i]=Temp[i];      
    
     j=sizeof(mynetp);
     j-=6;             //减去MAC
     p=&mynetp.myip[0];
     ReadEEprom(Temp,NETPARAMETER,16);
     for(i=0;i<16;i++)
         *p++=Temp[i]; 
     ReadEEprom(&Temp[16],(NETPARAMETER+16),(j-16));
     for(i=16;i<j;i++)
         *p++=Temp[i];  
 
 	 send( 0,(uint8 *)httpweb ,sizeof(httpweb), 0 );   
	 if(ReceiveCheck()==FALSE)
	    return;
	    
	 send( 0,(uint8 *)webConIp ,sizeof(webConIp), 0 );   
	 if(ReceiveCheck()==FALSE)
	    return;           
     
	 j=0;
	 while(j<1400)                //填充MAC
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]==':')
	     {
	        Temp[j]=NETp[j];j++;

	        for(i=0;i<6;i++)
	        {	
	            Temp[j]=' ';j++;	
	                     
	            x=mynetp.mac[i]>>4;
	            x=hextoASCII(x);	        
	            Temp[j]=x;j++;
	        
	        	 
	            x=mynetp.mac[i]&0x0f;
	            x=hextoASCII(x);
	            Temp[j]=x;j++;	            
	         }
	     }
	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  
	 }   
	 
	 /***********************************/
	 while(j<1400)   //填充DHCP
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]=='v' && NETp[j+1]=='a' && NETp[j+2]=='l' && NETp[j+3]=='u' && NETp[j+4]=='e'&& NETp[j+5]=='=')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        
	        Temp[j]='O';j++;
	        Temp[j]='F';j++;
	        Temp[j]='F';j++;	        	        	
	     }           	        	        

	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  
	 }	 
	 /**********************************/
	 while(j<1400)                //填充IP地址
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]=='v' && NETp[j+1]=='a' && NETp[j+2]=='l' && NETp[j+3]=='u' && NETp[j+4]=='e'&& NETp[j+5]=='=')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;	        	        	        

	        for(i=0;i<4;i++)
	        {	
	            x=mynetp.myip[i];
	            a=x/100;
	            b=x%100/10;
	            c=x%100%10;
	            
	            if(a!=0)
	            {
	               a=hextoASCII(a);	        
	               Temp[j]=a;j++;	            
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;		            
	            }

	            else if(a==0 && b!=0)
	            {
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	 	               	 	                
	            }

	            else 
	            {          
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	 
	            }  
	            
	            if(i==3)
	               break;  
	            Temp[j]='.';j++;		            
	                                 
	         }
	     }
	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  
	 } 
	 /**********************************/
	 while(j<1400)                //填充子网掩码
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]=='v' && NETp[j+1]=='a' && NETp[j+2]=='l' && NETp[j+3]=='u' && NETp[j+4]=='e'&& NETp[j+5]=='=')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;	        	        	        

	        for(i=0;i<4;i++)
	        {	
	            x=mynetp.submark[i];
	            a=x/100;
	            b=x%100/10;
	            c=x%100%10;
	            
	            if(a!=0)
	            {
	               a=hextoASCII(a);	        
	               Temp[j]=a;j++;	            
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;		            
	            }

	            else if(a==0 && b!=0)
	            {
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	 	               	 	                
	            }

	            else  
	            {          
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;
	            } 
	            
	            if(i==3)
	               break;    
	            
	            Temp[j]='.';j++;		                       
	         }
	     }
	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  
	 } 	   	    
	    
	 /**********************************/
	 while(j<1400)                //填充网关
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]=='v' && NETp[j+1]=='a' && NETp[j+2]=='l' && NETp[j+3]=='u' && NETp[j+4]=='e'&& NETp[j+5]=='=')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;	        	        	        

	        for(i=0;i<4;i++)
	        {	
	            x=mynetp.gateway[i];
	            a=x/100;
	            b=x%100/10;
	            c=x%100%10;
	            
	            if(a!=0)
	            {
	               a=hextoASCII(a);	        
	               Temp[j]=a;j++;	            
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;		            
	            }

	            else if(a==0 && b!=0)
	            {
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	 	               	 	                
	            }

	            else
	            {
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	
	            } 
	            if(i==3)
	               break;    	            
	            Temp[j]='.';j++;	                       
	         }
	     }
	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  
	 } 	
	 /****************************************************/
	 while(j<1400)    //填充端本机口号   
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }   
	     
	     if(NETp[j]=='v' && NETp[j+1]=='a' && NETp[j+2]=='l' && NETp[j+3]=='u' && NETp[j+4]=='e'&& NETp[j+5]=='=')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;	
	        
	        a=mynetp.myport/10000;    
	        b=mynetp.myport%10000/1000;
	        c=mynetp.myport%10000%1000/100;
	        d=mynetp.myport%10000%1000%100/10;
	        e=mynetp.myport%10000%1000%100%10;
	        
	        if(a!=0)
	        {
	               a=hextoASCII(a);	        
	               Temp[j]=a;j++;	            
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	
	               d=hextoASCII(d);	        
	               Temp[j]=d;j++;
	               e=hextoASCII(e);	        
	               Temp[j]=e;j++;	               	            
	        }

	        else  if(a==0 && b!=0)
	        {
	               b=hextoASCII(b);	        
	               Temp[j]=b;j++;
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	
	               d=hextoASCII(d);	        
	               Temp[j]=d;j++;
	               e=hextoASCII(e);	        
	               Temp[j]=e;j++;	  	 	               	 	                
	        }
	        else if(a==0 && b==0&& c!=0)
	        {
	               c=hextoASCII(c);	        
	               Temp[j]=c;j++;	
	               d=hextoASCII(d);	        
	               Temp[j]=d;j++;
	               e=hextoASCII(e);	        
	               Temp[j]=e;j++;	        
	        }
	        
	        else if(a==0 && b==0&& c==0&&d!=0)
	        {
	               d=hextoASCII(d);	        
	               Temp[j]=d;j++;
	               e=hextoASCII(e);	        
	               Temp[j]=e;j++;	        
	        }	
	        else
	        {
	               e=hextoASCII(e);	        
	               Temp[j]=e;j++;	        
	        }        

	     }
	     else
	     {
	       Temp[j]=NETp[j];
	       j++;
	     }  	 
	 }
	 
	 /***********************************/
	 while(j<1400)   //填充工作类型
	 {
	     if(NETp[j]==0x0a)
	     {
	        Temp[j]=NETp[j];
	        j++;
	        break;
	     }
	     if(NETp[j]=='s' && NETp[j+1]=='e' && NETp[j+2]=='l' && NETp[j+3]=='e' && NETp[j+4]=='c' && NETp[j+5]=='t'&&
	      NETp[j+6]=='e'&& NETp[j+7]=='d'&& NETp[j+8]=='>')
	     {
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;	
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        Temp[j]=NETp[j];j++;
	        switch(mynetp.workmode)
	        { 
	            case 1:
                    Temp[j]='T';j++;
                    Temp[j]='C';j++;  
                    Temp[j]='P';j++;  

⌨️ 快捷键说明

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