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]));
}
}*/