📄 testtcp.c
字号:
#include "DSP28_Device.h"
Uint16 AicRegs;
Uint16 FrameLenth;
Uint16 RxSuccessFlag;
extern Uint16 TCPTimeout;
//-------------------
Uint16 TxEthnetFrameBuffer[1518/2];
Uint16 RxEthnetFrameBuffer[1518/2];
//-------------------
interrupt void ISRTimer0(void);
void SendData(Uint16 data);
void main(void)
{
Uint16 Temp;
Temp=1;
RxSuccessFlag=0;
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE矢量表*/
InitPieVectTable();
InitPeripherals();
InitGpio();
LedReg = 0xFF; // 关 LED
Led8Lock = 0x07; // 灭数码管
SendData(0xFF);
Init8019();
TCP_Init();
EALLOW;
PieVectTable.TINT0 = &ISRTimer0;
EDIS;
/*设置CPU*/
ConfigCpuTimer(&CpuTimer0, 100, 1000000);
StartCpuTimer0();
/*开中断*/
IER |= M_INT1;
PieCtrl.PIEIER1.bit.INTx7=1;
// Enable global Interrupts and higher priority real-time debug events:
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
StartCpuTimer0();
while(1)
{
if(TCPTimeout)
Process_TCP_Timeout();
RTL8019ActiveOpen();
do{
Temp=RecFrame();
}while(Temp);
if(RxSuccessFlag)
{
RxSuccessFlag=0;
DoNetworkStuff();
}
}
}
interrupt void ISRTimer0(void)
{
PieCtrl.PIEACK.bit.ACK7=1;
TCPTimeout=1;
}
void SendData(Uint16 data)
{
Uint16 i,Temp;
Temp = 0x80;
for (i=0;i<8;i++)
{
if ((data & Temp)==0) ClrData;
else SetData;
Temp >>= 1;
ClrClk;
SetClk;
}
Led8Lock = 0x03;
Led8Lock = 0x07;
SetData;
}
//=================================end ========================
//===============================end ======================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -