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

📄 serial.h

📁 自己项目组开发的自组网传输中串口通信程序
💻 H
📖 第 1 页 / 共 2 页
字号:
        UINT8  SendTime[2];
}IPData_OutStruct;
/***********************非IP数据******************************/
typedef __packed struct {
	UINT8 length;
	UINT8 Data[1024];
}CommData_OutStruct;
/****************DTE->PRU发送 数据**********************/
typedef __packed struct {
	char   Command;
	__packed union {
		IPData_OutStruct IPdata;                                      //发送IP数据
		CommData_OutStruct CommData;                                 //非IP数据
	}Data;
} DTE_OutPktData;

/*****************DTE->PRU的命令************************/
/********************************************************/
/**********************************************************/
/****************返回系统工作模式0x01*************************/
typedef __packed struct {
	UINT8 WorkMode;                        //0-无线分组网模式1-点对点论询模式2-点对点数传模式
}WorkMode_InStruct;
/********************返回系统信道编码速率模式0x02**************************/
typedef __packed struct {
	UINT8 SpeedMode;                     //0-600BPS(分组无线网模式下不使用)//1-1200BPS2-2400BPS3-4800BPS4-9600BPS
}SpeedMode_InStruct;
/********************返回本机节点地址0x03************************/
typedef __packed struct {
	UINT8 IP[4];
}LocalIP_InStruct;
/***********************返回网络协议参数0x04***************************/
typedef __packed struct {
	UINT8 RouteADVINt;                     /*路由公告时间间隔*/
	UINT8 WAckTime;                        /*等待确认时间间隔*/
	UINT8 MaxRetransTimes;                /*请求分组重传次数*/
	UINT8 MaxReqTimes;                     /*源路由分组重传次数*/
}NetworkPara_InStruct;
/************************返回预置本网有效的节点地址0x05*****************/
typedef __packed struct {
	UINT8 NodeNum;                        /*节点数目*/
	__packed struct {
		UINT8 IPaddr[4];	      /*节点地址*/
	}IP[32];
}PreValidNode_InStruct;
/*************************返回预置全网拓扑结构信息0x06*****************/
typedef __packed struct {
	UINT8 NodeNum;                        /*节点数目*/
	UINT8 EageInfor[496];                 /*边的信息 32个节点 32×31/2=496个字节*/
}PreNetworkTopo_InStruct ;
/***********************返回本节点到其他节点的拓扑结构信息0x07*************/
typedef __packed struct {
	UINT8 NodeNum;                    /*节点数目*/
	__packed struct {
		UINT8 IPaddr[4];	      /*节点地址*/
	}IP[32];
        UINT8 RouteNum;
	__packed struct {
		UINT8 Numhop;             /*跳数*/
		__packed struct {
			UINT8 NumofNodeList[32];
		}NumofNode;
	}LocalRoute[32];
}TopoofLocalNode_InStruct ;
/*********************返回设置路由方式0x08****************************/
typedef __packed struct {
	UINT8 routemode;                      /*0-动态,1-静态*/
}RouteMode_InStruct;
/***********************返回预置本网所有节点的MAC层时隙分配方案0x09*************/
typedef __packed struct {
	UINT8 SendPktNum;                     /*一个时隙可以发送的分组个数*/
	UINT8 EncodeSpeed;                   /*最低限度的编码速率*/
	UINT8 ActiveSlotNum;                 /*有效的时隙个数*/
	UINT8 NumofUser;                    /*用户数*/
	__packed struct {
	UINT8 NodeIP[4];                   /*节点IP地址*/
	UINT8 SoltNum;                      /*节点的时隙个数*/
	UINT8 HoldSlot[16];                /*所拥有的时隙*/
	}MacSlotAssiagn[32];
}PreMacTimeSlot_InStruct;
/****************返回本节点的时隙0x0A******************************/
typedef __packed struct {
	UINT8 MacMode;                 /*信道接入方式*/	
	UINT8 ValidSlot;               /*全网有效的时隙个数*/
	UINT16 HopNum;                 /*一个时隙的跳数*/
	UINT8  LocalSlotNum;          /*本节点的时隙个数*/
	UINT8 HoldSlot[16];     /*所拥有的时隙*/
}TimeslotofLocalIP_InStruct;
/*******************返回信道接入方式0x0B*******************************/
typedef __packed struct {
	UINT8 MacMode;                 /*信道接入方式*/
}ChannelMode_InStruct;
/********返回电台类型及协议版本号0x0C*********************************/
typedef __packed struct {
	UINT8 Factory;       /*厂家*/
	UINT8 StationType;   /*电台类型*/
	UINT8 ProType;      /*协议类型*/
	UINT16 Version;    /*版本号*/
}StationInf_InStruct ;

/****************返回已经入网的节点地址0x0D*******************************/
typedef __packed struct {
	UINT8 NumberofValid;                      /*有效的节点个数*/
	__packed struct {
	UINT8 NodeIP[4];                          /*有效的节点地址*/
	}IP[32];
}ValideNode_InStruct;
	
/***********************返回本网网关节点地址0x0E*********************/
typedef __packed struct {
	UINT8 GatewayIP[4];          /*网关节点IP*/
}GatewayIP_InStruct;
/*********************返回最大传输单元0x10*************************/
typedef __packed struct {
	UINT8 MTU;  /*最大传输单元*/
}MTU_InStruct;
/**********************返回PRU等待发送分组个数0x11******************/
typedef __packed struct {
	UINT8 WaitSendNum; /*PRU等待发送分组个数*/
	UINT8 CommPHY;     /*普通物理的剩余长度*/
	UINT8 PriPHY;      /*优先物理的生于长度*/
}WaitedNums_InStruct;
/******************返回电台参数***********************************/
typedef __packed struct {
	UINT8 NumofWork;    /*工作方式号*/
	UINT8 NumofChannel; /*信道号*/
	UINT8 NumofPower;    /*功率号*/	
}StationPara_InStruct;
/**********PRU对 DTE发送的IP数据已经处理的确认0x62*********/
typedef __packed struct {
	UINT8  PktAppID0;
	UINT8  PktAppID1;
	UINT8  PktAppID2;
	UINT8  PktAppID3;
	UINT8  NETID0;
	UINT8  NETID1;
}PRUDealIP_InStruct ;
/**********DestinationPRU收到SourcePRU发送的数据0x63*************/
typedef __packed struct {
	UINT8  NETID0;
	UINT8  NETID1;
	UINT8 AssureType; /*确认类型*/
}ReceivedIP_InStruct;
/********DestinationPRU没有收到SourcePRU发送的数据0x64******/
typedef __packed struct {
	UINT8  NETID0;
	UINT8  NETID1;
}NoReceivedIP_InStruct;
/*********************告警0x90********************/
typedef __packed struct {
	UINT8 AlarmType;
}Alarm_InStruct;
/*******************调试字符串信息0xcc**************/
typedef __packed struct {
	char String[2500];
}DebugString_InStruct; 
/*********************网络层接收数据结构调试信息0xA0********/
typedef __packed struct {
	char String[2500];
}DebugNetworkRecv_InStruct; 
/**********************网络层发送数据结构调试信息0xA1*********/
typedef __packed struct {
	char String[2500];
}DebugNetworkSend_InStruct;
/***********电台收发状态指示0xcd**********************/
typedef __packed struct {
	UINT8 StationStatus;
}DebugStation_InStruct; 	             
/*****************PRU->DTE的数据*************************/
/*****************PRU->DTE 返回 查询的数据***************/
typedef __packed struct {
    	char 	Command;		                                                  //指令
	UINT8	Length;				                                          //长度
	__packed union {
		WorkMode_InStruct            WorkMode;                                 //返回系统工作模式0x01
		SpeedMode_InStruct           SpeedMode;                                //返回系统信道编码速率模式0x02
		LocalIP_InStruct             LocalIP;                                  //返回本机节点地址0x03
		NetworkPara_InStruct         NetworkPara;                              //返回网络协议参数0x04
		PreValidNode_InStruct        PreValidNode;                             //返回预置本网有效的节点地址0x05
		PreNetworkTopo_InStruct      PreNetworkTopo;                           //返回预置全网拓扑结构信息0x06
		TopoofLocalNode_InStruct     TopoofLocalNode;                           //返回本节点到其他节点的拓扑结构信息0x07
		RouteMode_InStruct           RouteMode;                                //返回设置路由方式0x08
		PreMacTimeSlot_InStruct      PreMacTimeSlot;                           //返回预置本网所有节点的MAC层时隙分配方案0x09
		TimeslotofLocalIP_InStruct   TimeslotofLocalIP;                        //返回本节点的时隙0x0A
		ChannelMode_InStruct         ChannelMode;                               //返回信道接入方式0x0B
		StationInf_InStruct          StationInf;                               //返回电台类型及协议版本号0x0C
		ValideNode_InStruct          ValideNode;                                //返回已经入网的节点地址0x0D
		GatewayIP_InStruct           GatewayIP;                                 //返回本网网关节点地址0x0E
		MTU_InStruct                 MTU;                                       //返回最大传输单元0x10
		WaitedNums_InStruct          WaitedNums;                                 //返回PRU等待发送分组个数0x11
		StationPara_InStruct         StationPara;                               //返回电台参数 0x82
		PRUDealIP_InStruct           PRUDealIP;                                 // PRU对 DTE发送的IP数据已经处理的确认0x62
		ReceivedIP_InStruct          ReceivedIP;                                //DestinationPRU收到SourcePRU发送的数据0x63
		NoReceivedIP_InStruct        NoReceivedIP;                              //DestinationPRU没有收到SourcePRU发送的数据0x64
		Alarm_InStruct               Alarm;                                     //告警0x90
		DebugString_InStruct         DebugString;                               //调试字符串信息0xcc
		DebugNetworkRecv_InStruct    DebugNetworkRecv;                          //网络层接收数据结构调试信息0xA0
		DebugNetworkSend_InStruct    DebugNetworkSend;                           //网络层发送数据结构调试信息0xA1
		DebugStation_InStruct        DebugStation;                               //电台收发状态指示0xcd
	} Data;
} DTE_InData;
/********** DTE->PRU 发送IP数据********************/
typedef __packed struct {
        UINT8 IpVersion;
	UINT8  PktServiceType;
	UINT8  len0;       /*0*/
	UINT8  Len;
	UINT8  PktAppID0;
	UINT8  PktAppID1;
	UINT8 PktAppID2;
	UINT8  PktAppID3;
	UINT8  TTL;
	UINT8  ProtocolType;
	UINT8  Checksum0;
	UINT8  Checksum1;
	UINT8   Src[4];
	UINT8   Dst[4];
	UINT8  Data[1024];
}IPData_InStruct;
/***********************非IP数据******************************/
typedef __packed struct {
	UINT8 length;
	UINT8 Data[1024];
}CommData_InStruct;
/****************DTE->PRU发送 数据**********************/
typedef __packed struct {
	char   Command;
	__packed union  {
		IPData_InStruct IPdataIn;                                      //发送IP数据
		CommData_InStruct CommDataIn;                                 //非IP数据
	}Data;
} DTE_InPktData;
/********************************************************/
/****************用于保存本节点的PktID与网络层发送ID对应关系*****/
typedef __packed struct {
        UINT16 PktID;
        UINT16 NetID;
}PktToNetIDTable;
//用户地址定义
//------------------------------------------------------
#define UserCodeTypeLen 4
typedef struct{ 
  unsigned char byte[UserCodeTypeLen]; 
}UserCodeType;
#pragma pack()

#endif




⌨️ 快捷键说明

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