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

📄 testsdudp.c

📁 本人编写的无线电话程序,给予PIC18C801设计,包括了uCOS的移植以及菜单,自己设计的拼音注入法,完整地一级汉字库,希望对大家有所帮助
💻 C
字号:
#include "network.h"

#include "funcudp.h"

extern OS_EVENT	*rom peventMCNM;

extern INT8U rom IPAddress[4];

extern INT8U UDPFlush(UDP_SOCKET 	s, 
               IP_ADDR		remoteAddr,
               INT16U 		remotePort);
extern INT8U UDPPutS(UDP_SOCKET 	s,
              INT8U rom * 	pD,
              INT16U 		len);
extern INT8U rom *IPMakeHeader(IP_ADDR		  remoteAddr,
						INT8U   rom * pBuf,
						INT8U         Protocol,
						INT16U        LenOfPayload);                             

extern INT32U IPGetSrcAddress(INT8U rom * pD);
extern INT32U IPGetDestAddress(INT8U rom * pD);
extern UDP_SOCKET UDPOpen(IP_ADDR 	remoteAddr,
                   UDP_PORT 		remotePort,
                   UDP_PORT 		localPort,
                   OS_EVENT * 		sockOwner);
                   
extern void        UDPInit(void);                   
#pragma romdata CCODE

INT8U rom tstUDP[] = {
0xFF, 0x03 ,
0x00, 0x21,

0x45,	//Ver-HLen : 0x04 for IPV4, 0x05 is the length of head in DWORD
0x00,	//Service = 0
0x00, 0x3C,	//total length 

0x2B, 0x8F,	//Identification, increase by one after a packet send
0x00, 0x00,

0x6D,	//Time To Live
0x01,	//Protocol = ICMP
0x7C, 0x28,	//Checksum

0xDA, 0x02, 0xA0, 0x7A,	//Source add = 218.2.160.122

0xDC, 0xC0, 0x6E, 0xCC,	//destination add = 220.192.110.204, this is current local IP

//ICMP packet begin
0x08,	//ICMP Type = 8, "Echo Request"u
0x00,	//Code
0xD8, 0x23,	//CheckSum

0x61, 0x93,	//Identifier
0x13, 0xA5,	//Sequence number
0x61, 0x62, 0x55, 0xaa, 0xcc, 0x88
//End of ICMP packet
};	
INT8U TstSock;
IP_ADDR DestAddr;
IP_ADDR SrcAddr;
INT16U DestPort;
IP_ADDR Ipadd;
#pragma code MYCODE

void FuncTest(void){
	Ipadd.Val = 0x0102c0dc;
	UDPInit();
	TstSock = UDPOpen(Ipadd,0,0,peventMCNM);
	IPAddress[0] = 0x92;
	IPAddress[1] = 0x2;
	IPAddress[2] = 0x0;
	IPAddress[3] = 0x65;
	
	
	UDPPutS(TstSock, tstUDP+4+20+8, 6);
	
	DestAddr.Val = IPGetSrcAddress(tstUDP);
	SrcAddr.Val  = IPGetDestAddress(tstUDP);
	DestPort = 0x1055;
	
	UDPFlush(TstSock, DestAddr, DestPort);
}
	

⌨️ 快捷键说明

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