📄 testip.c
字号:
#include "DSP28_Device.h"
Uint16 FrameLenth;
Uint16 SendCounter=0;
Uint16 RecCounter=0;
Uint16 i;
Uint16 IsAns=1;
Uint16 regTmp;
Uint16 TxEthnetFrameBuffer[1518/2];
Uint16 RxEthnetFrameBuffer[100/2];
interrupt void RecData(void);
void main(void)
{
//RxSuccessFlag=0;
/*初始化系统*/
InitSysCtrl();
/*关中断*/
DINT;
IER = 0x0000;
IFR = 0x0000;
/*初始化PIE*/
InitPieCtrl();
/*初始化PIE矢量表*/
InitPieVectTable();
InitPeripherals();
InitGpio();
InitXIntrupt();
EALLOW;
PieVectTable.XINT2=&RecData;
EDIS;
PieCtrl.PIEIER1.bit.INTx5=1;
IER|=M_INT1;
RST8019();
Init8019();
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
////////////////////////////////
Delay_MS(1000);
//ArpRequest();
//Delay_MS(1000);
for(i=0;i<512;i++)//发送1M字节停止
{
*(TxEthnetFrameBuffer+UDP_USER_START+i)=i;
}
for(;;)
{
Prepare_UDP_Frame(Remote_UDP_PORT,512);
if(SendCounter==1024)
break;
}
for (; ; );
}
interrupt void RecData(void)
{
Uint16 Temp;
PieCtrl.PIEACK.all = 0xFFFF;//禁止其他中断
PieCtrl.PIEIFR1.bit.INTx5 = 0;//清除中断标志位
page(0);
regTmp=Reg07;
Reg07=0xff;
if(regTmp&0x01==1)
{
RecCounter++;
Temp=RecFrame();
if (Temp==1)
{
DoNetworkStuff();
}
if (IsAns==1)
{
Prepare_UDP_Frame(Remote_UDP_PORT,512);
IsAns=0;
}
}
if ((regTmp&0x02)==2)
{
SendCounter++;
}
ERTM;
}
//===============================end ======================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -