⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testtcp.c

📁 TMS2812F 网络通信C源码
💻 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 + -