www.pudn.com > uCOSII上实现的tcpip.rar > zinit.c


#include "include/zarch.h"
#include "include/zdef.h"
#include "include/zbuffer.h"
#include "include/ztask.h"
#include "include/znetif.h"
#include "include/zarp.h"
#include "include/zudp.h"
#include "include/ztcp.h"


#define ZNET_TASK_ID	4

#define NET_TASK_SSIZE 1024*8
OS_STK  net_task_stk[NET_TASK_SSIZE];
OS_STK	tcp_tmr_stk[NET_TASK_SSIZE];


znetif_t default_netif;

void znet_task(void *pdata);

void znet_init(void)
{

	zsocket_init();
	zbuffer_init();
	arp_init();
	udp_init();
	tcp_init();
	led_change(1);
	default_netif.ipaddr = IPV4_SET(192,168,6,202);
    default_netif.netmask = IPV4_SET(255,255,255,0);
    default_netif.gateway = IPV4_SET(192,168,6,1);
	
	znetif_init(&default_netif);

}

void znet_task_init(void)
{
	    s32_t i;
	    for ( i = 0; i < NET_TASK_SSIZE + 0x10; i++)
	    {
			net_task_stk[i] = 0xE0E1E2E3;
			tcp_tmr_stk[i] = 0xE0E1E2E3;
		}
		znet_task_id = ZNET_TASK_ID;
		znet_state = 0x00;			/*no start and runing*/
		
		OSTaskCreate(znet_task, NULL,(void *)&net_task_stk[ NET_TASK_SSIZE -1], ZNET_TASK_ID);
		OSTaskCreate(tcp_tmr, NULL, (void *)&tcp_tmr_stk[ NET_TASK_SSIZE -1], ZNET_TASK_ID + 1);
}