这是例程里的 TCP 部分驱动程序,这段程序看不懂,麻烦大家指教一下~谢谢了
void RTL8019ActiveOpen(void)
{
//---------
if(!ARPAnswerSuccessFlag)
ArpRequest();
//----------
if((ARPAnswerSuccessFlag)&&(!TCPActiveOpenFlag))
{
memcpy(&RemoteMAC,&RecdFrameMAC,3);
memcpy(&RemoteIP,&RecdFrameIP,2);
TCPRemotePort=1028;
TCPActiveOpen();
}
if(TCPConnected)
{
TCPActiveTxData();
TxSuccessFlag=1;
}
if(TxSuccessFlag)
{
TCPTxDataLenth=0;
Prepare_TCP_Frame(TCP_CODE_FIN|TCP_CODE_ACK);
TCPStatus=TCP_STATE_LAST_ACK;
TxSuccessFlag=0;
}
}
void TCPActiveTxData(void)
{
Uint16 i;
for(i=0;i<10;i++)
*(TxEthnetFrameBuffer+ETH_HEADER_SIZE+IP_HEADER_SIZE+TCP_HEADER_SIZE+i)=i+0x3030;
TCPTxDataLenth=i;
Prepare_TCP_Frame(TCP_CODE_PSH|TCP_CODE_ACK);
}
|