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

📄 tsknet.c

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

extern OS_EVENT	*rom peventNet;

extern UDP_SOCKET UDPOpen(IP_ADDR 			remoteAddr,
                   UDP_PORT 		remotePort,
                   UDP_PORT 		localPort,
                   OS_EVENT * 		sockOwner);
extern INT8U UDPPutS(UDP_SOCKET 	s,
              INT8U rom * 	pD,
              INT16U 		len);
INT8U UDPPutB(UDP_SOCKET s,INT8U byte);   
INT32U IPGetSrcAddress(INT8U rom * pD);
INT32U IPGetDestAddress(INT8U rom * pD);

void Func_Clear_Msg(INT8U rom * pMsg);

void UDPFlush(UDP_SOCKET 	s, 
              IP_ADDR		remoteAddr,
              INT16U 		remotePort);
          
void tskNet(void * Pdata){
	void rom * pMsg;
	INT8U	err;
	
	UDP_SOCKET MySock;
	UDP_PORT   DestPort;
	IP_ADDR	   DestAddr,SrcAddr;
	
	DestAddr.Val = 0;
	
	MySock = UDPOpen(DestAddr,0,5000,peventNet);
	
	for(;;){
		pMsg = OSQPend(peventNet, 0, &err);
		if(err == OS_NO_ERR){
			if((INT24U)pMsg >= PTR_MAX){
			}
			else{
				if(((MSG_HEAD *)pMsg)->Msg_ID == MSG_UDP_DATA){
					//process data--we just copy data and send it back for test
					UDPPutS(MySock, ((MSG_UDP *)pMsg)-> pPayload, ((MSG_UDP *)pMsg)-> LenOfPayload);
					//and we can put some other data like
					UDPPutB(MySock, 0x88);
					UDPPutB(MySock, 0xce);
					DestAddr.Val = IPGetSrcAddress(((MSG_HEAD *)pMsg)->pMem);
					SrcAddr.Val  = IPGetDestAddress(((MSG_HEAD *)pMsg)->pMem);
					DestPort = ((MSG_UDP *)pMsg)->SourcePort;
	
					UDPFlush(MySock, DestAddr, DestPort);
				}
				Func_Clear_Msg(pMsg);
			}
		}
	}
}

⌨️ 快捷键说明

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