基于uCOS-II的UDP网络编程

2014-11-24 12:31:33 · 作者: · 浏览: 2




1>初始化网络端口地址


通过调用SetNetPort()函数来设置主机IP地址网关地址,子网掩码和主机物理地址。


SetNetPort();


2>初始化RTL8019芯片


通过调用InitNic()函数初始化RTL9019以太网芯片对RTL8019芯片的工作寄存器进行设置。


InitNic(0);


3>初始化ARP函数


通过调用Initial_arp()函数初始化ARP


Initial_arp();


4>初始化UDP


通过调用Udp_Initial函数初始化UDP


Udp_Initial();


3.启动任务程序


/********************************************************************


** Function name: TASK0


** Descriptions: 创建任务TASK1(udp数据处理任务)TASK2(udp服务例程),分配信号量


** input parameters:


** output parameters:


** Returned value:


********************************************************************/


void Task0(void *pdata)


{


UBYTE iii;


#if OS_CRITICAL_METHOD == 3


OS_CPU_SR cpu_sr;


#endif


TargetInit();


OSTaskCreate(Task1,(void *)0, &TaskStk1[1000 - 1],3);


OSTaskCreate(Task2,(void *)0, &TaskStk2[1000 - 1],4);


UDP_INIT();


SetNetPort();


InitNic(0); //RTL8019芯片初始化,global.c中定义


Initial_arp();


Udp_Initial();


while(1)


{



OSTimeDly(4);


do


{



iii=Rec_Packet();//监控是否有数据到来




}


while(iii!=0);


}


}