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

📄 main.h

📁 基于ARM7的ucos-ii移动收发通信编程ADS开发源码
💻 H
字号:
#ifndef  MAIN_H
#define  MAIN_H

#ifdef	 MAINMODULE
	#define	EXTMAIN
#else
	#define EXTMAIN	extern
#endif

//使用本地串口做调试使能
#define DEBUG_ENABLE	0

EXTMAIN UART_HANDLER        Com_Southing;       // 南向接口
EXTMAIN UART_HANDLER        Com_North; 			// 北向接口


EXTMAIN OS_EVENT *localSendSem;

#define  Normal             0xAA
#define  Alarm              0x55
//设备所在级
EXTMAIN INT8U	deviceLevel;
//设备的地址
EXTMAIN INT8U	deviceAddr;
//看门狗使能
EXTMAIN INT8U	wdEnable;

//东方信联WFDS光模块协议
struct TS
{
	uint8 header;		
	uint8 type;
	uint8 addr;			
	uint8 cmd;			
	uint8 ack;			
	uint8 datLen[2];
	uint8 firstDat;
}; 
EXTMAIN void ResetCpu(void);
EXTMAIN INT8S protocolDisposalSouth(UART_HANDLER type ,INT8U *recapa , INT32U data_count);

//光模块信息
typedef struct
{
    uint16 commCnt;				//通信计数
    
    INT8U  AlarmData[8];		//告警信息
    INT8U  OpticalTxPower;		//发光功率
    INT8U  LD_Partial;			//LD偏执电流
    INT8U  LD_Refrigeration;	//LD制冷电流
    INT8U  OpticalRxPower[8];		//收光功率
    INT8U  FSK_Tx;				//FSK发送功率
    INT8U  FSK_Rx;				//FSK接受功率
    INT8U  FSKFrequency0;		//FSK频率
    INT8U  FSKFrequency1;
    INT8U  FSKFrequency2;
    INT8U  FSKFrequency3;
    INT8U  Attenuation;			//衰减
    INT8U  Gain;				//增益
    INT8U  BufferState;			//缓冲区状态
}LIGHTMODULE;

typedef struct
{
	uint8 		flag;					//是否在线
	uint8		checkEnable;			//是否检测
	uint8 		addr[3];				//设备地址
	struct 
	{//每个设备的同步信息, 12 bytes
		INT8U 	state[2];		//状态
		INT8U 	deviceType;		//系统单元类别
		INT8S	temperature;	//温度
		INT8U	txLightPower;	//发光功率
		INT8U	rauUpAtt;		//远端无线单元上行衰减
		INT8U	rauDwAtt;		//远端无线单元下行衰减
		INT8U	rauUpAlc;		//远端无线单元上行ALC输出功率
		INT8U	rauDwAlc;		//
		INT8U	dwOutputVoltage;//下行输出电平(RU)
		INT8U   slotSet;		//时隙比设置
	}sycInfo;
	struct 
	{//每个设备的基本信息
		INT8U	deviceXinghao[4];	//系统单元型号
		INT8U	serialNum[3];		//系统单元生产序列号
		INT8U	softwareVersion;	//
		INT8U	longitude[3];		//经度
		INT8U	dimensionality[3];	//维度
	}basisInfo;
}DEVICE_INFO;

#define SYC_INFO_LEN	15	//包含地址和状态和数据
#define BASIS_INFO_LEN	14	//没有包含地址和状态

typedef struct 
{
	uint8 		portCheckEnable;//端口检查使能
	uint8  		commCnt;		//端口通信计数
	uint8  		deviceCnt;		//端口上的设备数
	DEVICE_INFO mainDevice;		//端口连接的设备
	DEVICE_INFO slaveDevice[8];	//端口连接的设备的下属设备
}PORT;

typedef struct
{
	DEVICE_INFO		expandInfo;			//本机信息
	PORT			devicePort[8];		//8个端口
	uint8 			southCommCnt;		//和上面设备的通信计数
}WFDS_EXPAND;
//内部协议的组成
#define STA_UPDATA		0x0f
#define STA_QUERY		0x05
#define STA_SET     	0x03
#define STA_SYC			0x04
//内部协议
typedef struct 
{
	uint8 addr[2];	//地址//地址变成了两个字节,所以现在也是2个字节
	uint8 Ctype;
	uint8 state;	//命令
	uint8 firstData;//数据(如果有的话)
}MY_PROTOCAL;

//设置命令的组成
//命令标识定义
#define SET_DEVICE_XINGHAO	0x10
#define SET_SERIALNUM		0x11
#define SET_LONGITUDE		0x12
#define SET_DEIMENSIONALITY	0x13
#define SET_RFSW			0x14
#define SET_UPATT			0x15
#define SET_DWATT			0x16
#define SET_UPALC			0x17
#define SET_DWALC			0x18
#define SET_DWGAIN			0x19
#define SET_SLOT			0x1D
typedef struct
{
	uint8 len;
	uint8 cmd;
	uint8 cmdFirstData;
}SET_CMD;

//debug数据集
//保存debug时需要观察的数据
typedef struct
{
	uint16 portSycSendCnt[8];	//同步查询发送计数
	uint16 portSycRecCnt[8];	//同步查询接受计数
	uint16 portBasSendCnt[8];   //查询基本信息计数
	uint16 portBasRecCnt[8];    //收到基本信息计数
	
	uint16 setSendCnt;			//发送设置计数
	uint16 setRecCnt;			//设置接受计数
	
	uint16 recSouthDatCnt;      //未地址鉴权时的计数
	uint16 recSouthSycCnt;      //收到上面查询同步计数
	uint16 recSouthBasCnt;      //受到上面查询基本信息计数
	
	uint16 sendCntSouth;			//北向发送数据计数
	uint16 fskAckCntSouth;			//发送数据FSK应答计数
	
	uint16 queryNorthModuleCnt;		//查模块状态计数
	uint16 queryNorthModuleRecCnt;
	uint16 querySouthModuleCnt;		//查模块状态计数
	uint16 querySouthModuleRecCnt;
	
	
}DEBUG;
EXTMAIN  DEBUG	debugInfo;

//保存初始化时的设备的一些状态
typedef struct
{
    uint8 deviveACSupply;
    uint8 deviceDCSupply;
}STRUCT_INIT_INFO;
EXTMAIN STRUCT_INIT_INFO initInfo;

//本机及下属设备信息存储区
EXTMAIN  WFDS_EXPAND	expandDevice;
//currentAddr	当前查询的地址
//initEnable	初始化进行中标志
//initTimeCnt	初始化时间计数器
EXTMAIN  uint8 			currentAddr, initEnable, initTimeCnt;
//设置命令转发缓冲区
#define  CMD_BUF_LEN	20
EXTMAIN  uint8 			cmdBuf[CMD_BUF_LEN][40], cmdBufCnt;
//北向向南向发送设置应答小心队列的缓冲区
#define UP_SEND_BUF_LEN	5
EXTMAIN  uint8 			upSendBuf[UP_SEND_BUF_LEN][15], upSendBufCnt;
//刷新显示使能标志
EXTMAIN  uint8 			refreshDisplayEnable;
//本地温度
EXTMAIN  uint8 			localTemperature;
//光模块数据
EXTMAIN  LIGHTMODULE    northLightModule, southLightModule;
#endif

//定义远端模块是否同步完成标志位,完成为1,未完成为0
EXTMAIN	uint8	NO2GState[11];//2009.2.10-侍任伟,采用下标类型相对应的方式
		
									// 0 GSM模块标志位0x02
									// 1 DCS模块标志位0x03
									// 2 CDMA800模块标志位0x04
									// 3 CDMA2000模块标志位0x05
									// 4 WCDMAState模块标志位0x07
 									// 5 TDSCDMA模块标志位0x06

struct GSM_TYPE     // 定义设备信息结构体类型
{       
    INT8U   ModuleType;             			// 系统单元类别类别                  
    INT8U   DeviceType;         				// 系统单元类别型号      
    INT8U   DeviceSerialNo[3];     				// 设备生产序列号
    INT8U   Version;          					// 系统单元当前版本
    INT8U   UpAtt;                      		// 上行衰减值
    INT8U   DownAtt;                    		// 下行衰减值
    INT8S   DownOutputOverPowerMax;     		// 下行输出过功率门限
    INT8S   DownOutputLessPowerMax;     		// 下行输出欠功率门限
    INT8U   DownOutputOverPowerAlarmEn; 		// 下行输出过功率告警使能
    INT8U   DownOutputLessPowerAlarmEn; 		// 下行输出欠功率告警使能
    INT8U   DownVSWRAlarmEn;        			// 下行驻波比告警使能 
};
EXTMAIN struct GSM_TYPE Querydata2G[11];

struct GSM_SYNC_TYPE	// 定义同步数据
{
	INT8U   RFSignalSwitch;           			// 射频开关
	INT8U   Dev_DownOutputOverPowerAlarmState; 		// 下行输出过功率告警状态
    INT8U   Dev_DownOutputLessPowerAlarmState; 		// 下行输出欠功率告警状态
    INT8U   Dev_DownVSWRAlarmState;        			// 下行驻波比告警状态
    INT8S   DownOutputLevel;            		// 下行输出功率电平
    INT8U   TxLightPower;						// 发光功率
};
EXTMAIN struct GSM_SYNC_TYPE Syncdata2G[11];

struct TD_TYPE     // 定义设备信息结构体类型
{       
    INT8U   ModuleType;             			// 系统单元类别类别                  
    INT8U   DeviceType;         				// 系统单元类别型号      
    INT8U   DeviceSerialNo[3];     				// 设备生产序列号
    INT8U   Version;          					// 系统单元当前版本
    INT8U   UpAtt;                      		// 上行衰减值
    INT8U   DownAtt;                    		// 下行衰减值
    INT8S   DownOutputOverPowerMax;     		// 下行输出过功率门限
    INT8S   DownOutputLessPowerMax;     		// 下行输出欠功率门限
    INT8U	NO2ChangePoint;						// 第二时隙切换点
    INT8U   DownOutputOverPowerAlarmEn; 		// 下行输出过功率告警使能
    INT8U   DownOutputLessPowerAlarmEn; 		// 下行输出欠功率告警使能
    INT8U   DownVSWRAlarmEn;        			// 下行驻波比告警使能 
    INT8U	AsynchronismAlarmEn;				// 失步告警使能
};
EXTMAIN struct TD_TYPE Querydata3G;

struct TD_SYNC_TYPE	// 定义同步数据
{
	INT8U   RFSignalSwitch;           			// 射频开关
	INT8U   Dev_DownOutputOverPowerAlarmState; 		// 下行输出过功率告警状态
    INT8U   Dev_DownOutputLessPowerAlarmState; 		// 下行输出欠功率告警状态
    INT8U   Dev_DownVSWRAlarmState;        			// 下行驻波比告警状态
    INT8U	Dev_AsynchronismAlarmState;				// 失步告警状态
    INT8S   DownOutputLevel;            		// 下行输出功率电平
    INT8U   TxLightPower;						// 发光功率
};
EXTMAIN struct TD_SYNC_TYPE Syncdata3G;

EXTMAIN uint8 DownOutputOverPowerAlarmCnt[11];
EXTMAIN uint8 noDownOutputOverPowerAlarmCnt[11];
EXTMAIN uint8 DownOutputLessPowerAlarmCnt[11];
EXTMAIN uint8 noDownOutputLessPowerAlarmCnt[11];
EXTMAIN uint8 DownVSWRAlarmCnt[11];
EXTMAIN uint8 noDownVSWRAlarmCnt[11];
EXTMAIN uint8 AsynchronismAlarmCnt;
EXTMAIN uint8 noAsynchronismAlarmCnt;

EXTMAIN uint8 DownOutputOverPowerAlarmState[11];
EXTMAIN uint8 noDownOutputOverPowerAlarmState[11];
EXTMAIN uint8 DownOutputLessPowerAlarmState[11];
EXTMAIN uint8 noDownOutputLessPowerAlarmState[11];
EXTMAIN uint8 DownVSWRAlarmState[11];
EXTMAIN uint8 noDownVSWRAlarmState[11];
EXTMAIN uint8 AsynchronismAlarmState;
EXTMAIN uint8 noAsynchronismAlarmState;

EXTMAIN uint8 TD_AlarmState[2][11];//6种制式的告警状态
EXTMAIN uint8 TD_ENAlarmState[2][11];//6种制式的告警状态使能
 
EXTMAIN void TD_QueryState(void);
EXTMAIN void TD_Set(uint8 state);//频分设备的设置
EXTMAIN void TD3G_Set(void);//TD设备的设置
EXTMAIN void TD_IntAllPar(void);//初始化设备参数
EXTMAIN void TD_WriteAllPar(void);//写初始化设备参数
/*********************************************************************************************************
**                            End Of File
**********************************************************************************************************/
	



⌨️ 快捷键说明

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