echo.c

来自「embedded ethernet code for pic18F」· C语言 代码 · 共 61 行

C
61
字号
#include <p18cxxx.h>
#include "sockets.h"




unsigned int echo_application(unsigned int bytesIn,FLAGS *flags,unsigned char *dataPacket)
{
	return bytesIn;
}

#define WAITING 0
#define PUTDATA 1
#define PUTEXTRA 2

unsigned int bytesToPut=0;
unsigned char state=WAITING;
unsigned char mode=0;

 
void putEcho(unsigned int bytesIn,FLAGS *flags,unsigned char *dataPacket)
{
	if(isFirstPacket(flags)) mode=0;
	
	bytesToPut=bytesIn;
	state=PUTDATA;
	if(dataPacket[0]=='#') mode^=1;
	
}



unsigned int getEcho(FLAGS *flags,unsigned char *dataPacket)
{
	unsigned int i;
	
	switch(state)
	{
		case PUTDATA:
	  		i=bytesToPut;
	  		bytesToPut=0;
	  		if(mode==1) state=PUTEXTRA;
	  		else state=WAITING;
	  		return i;
			break;
		case PUTEXTRA:
			dataPacket[0]='#';
			dataPacket[1]='*';
			dataPacket[2]='#';
			state=WAITING;
			return 3;
			break;
		case WAITING: default:
			return 0;
			break;
	}
}

	

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?