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

📄 dmnet.c

📁 mcf5307开发板上进行iic接口实验
💻 C
字号:

#include "..\net\socketd.h"
#include "..\NUCLEUS\mcf5307.h"
#include "..\NUCLEUS\nucleus.h"

#define  NetBase    0x30400200 //0x44000200  

extern unsigned char NetError;
extern unsigned char NetProm[256];
extern unsigned char manual[6];

extern MCF5307_IMM *imm;

extern sint next_socket_no;
extern NU_TASK         Task_2;
extern NU_SEMAPHORE    Semaphore_2;

//extern int16 arp_request(uint8 *tipnum);

unsigned char ArpIP[4];
sint MySocketNumber;


/*
void InitNet(void)
{
 int Address;
 int Sta;
 
 manual[0]=0x52;	//mac address
 manual[1]=0x54;
 manual[2]=0x4c;
 manual[3]=0xbd;
 manual[4]=0xa1;
 manual[5]=0x1a;
 
 
 
 Address=nic_detect(NetBase);       //to detect if there is a net card
 
 nic.iobase=0x44000200;
 nic_init(&nic,NetBase,NetProm,manual); 
 
 //nic_register_notify(&nic,NewPacketReceived);

 nic_start(&nic,0x00);
  

}

*/


sint GetMySocketNumber(sint next_number)
{
	
 sint temp;
 temp=next_number;
 temp--;
 if(temp<0) temp=0;
 return(temp);	
}





void TodoARP(void)
{
	
 ArpIP[0]=219;
 ArpIP[1]=245;
 ArpIP[2]=153;
 ArpIP[3]=25;
 
 arp_request(ArpIP);
 
 	
}

void TodoTCP(void)
{
	
  struct addr_struct	DestAdd;
  struct id_struct      id;
  
  unsigned char DestIP[4]={192,168,0,3};
  char DestName[10]="FTP";
 // id.is_ip_addrs=DestIP;
  
  
  DestAdd.family=NU_FAMILY_IP;
  DestAdd.port=21;
  DestAdd.id.is_ip_addrs[0]=192;
  DestAdd.id.is_ip_addrs[1]=168;
  DestAdd.id.is_ip_addrs[2]=0;
  DestAdd.id.is_ip_addrs[3]=3;
  DestAdd.name=DestName;
  
  if(NU_Socket(NU_FAMILY_IP,NU_TYPE_STREAM,NU_PROTO_TCP)>=0)
  {
   Printf("\r\nClient Socket open ok! \r\n"); 
   	  	
   MySocketNumber=GetMySocketNumber(next_socket_no);	  	
   if(NU_Connect(MySocketNumber,&DestAdd,0x00)>=0)
       {
       	  NU_Sleep(100);
       	if(NU_SUCCESS==NU_Release_Semaphore(&Semaphore_2))
       	 {
       	  NU_Sleep(20);	
          Printf("\r\nClient Socket connect OK! receive task start ok!\r\n"); 	
         }
        else
          Printf("\r\nClient Socket connect OK! receive task start bad!\r\n"); 	 
       }
       
       
       
   else
       Printf("\r\nClient Socket connect fail!\r\n");    
   	 
  } 
  
  else
      Printf("\r\nClient Socket open fail!\r\n");   
  
   
}



void DisTCP(void)
{
  if( NU_SUCCESS==NU_Close_Socket(MySocketNumber) )
    {
      if(NU_SUCCESS==NU_Reset_Semaphore(&Semaphore_2,0)) 
       Printf("\r\nClient Socket close ok! receive task close ok!\r\n  ");     	
      else
       Printf("\r\nClient Socket close ok! receive task close bad!\r\n  "); 
     } 
  else
      Printf("\r\nClient Socket close bad!\r\n");     
	
}

⌨️ 快捷键说明

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