📄 serial.h
字号:
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 + -