www.pudn.com > TCPmodbushy.rar > main.c


/****************************************************************************** 
 * Project     : t_box 
 * Module Name : main.c 
 * CPU Type    : C8051F340 
 * 
 * Description : 
 * 
 * History        Author     Version       Comment 
 * 2002.12.22       HY       V0.0         Original version 
 * 
 * Copyright (C) 2006 HY. All rights reserved. 
 ******************************************************************************/ 
#include	"o:\sysdef.h" 
#include "o:/lwip/tcp.h" 
uchar 	PreWorkState; 
 
uchar	CurWorkState; 
 
void  main(void) 
{ 
	InitCPU(); 
	StartRx(); 
	InitPara(); 
	init_memb(); 
	InitLwip(); 
	InitLED(); 
	/* Timer2 init must after InitLwip( CP220init ) */ 
	InitTimer2(); 
	CurWorkState = GetCurrentTboxState(); 
	PreWorkState = CurWorkState; 
	if( CurWorkState & MASTER_NOT_SLAVE ) 
		RstRcvCommu(); 
	/* OPEN INT */ 
	PX0 = 1; 
	EA = ON; 
	Init_TBox_State(); 
	while(1) 
	{ 
		/* drive LWIP Read CP220 DATA */ 
		if( RcvedNum ) 
			ethernetif_input(); 
 
		input(); 
 
		/* drive LWIP TIMER event */ 
		LWIP_Relative_Tmr(); 
 
		/* when current state change, Clear */ 
		//CurWorkState = GetCurrentTboxState(); 
		if( (PreWorkState&0x07) != (CurWorkState&0x07) ) 
		{ 
			EndCurrentState(); 
			/*system rester*/ 
			RSTSRC |=0x10; 
		} 
	} 
} 
 
/* 
void SendErrInfo( uchar ErrNo, uint nLoopNo ) 
{ 
	uchar head; 
 
	head = apply_memb( 3 ); 
	if( head != MEMORY_EER ) 
	{ 
		memory[head].space[0] = ErrNo; 
		memory[head].space[1] = HIGH_BYTE( nLoopNo ); 
		memory[head].space[2] = LOW_BYTE( nLoopNo ); 
		UDP_SendData( &(memory[head]),502, 0xc0a800b2, 502 ); 
		free_memb(&(memory[head])); 
	} 
}*/