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

📄 df9000wh.h

📁 详细介绍了arm7-at91r40008,的开发全过程
💻 H
字号:
#ifndef _DF9000WH_H
#define _DF9000WH_H



#define COM1		1
#define COM2		2

#define WH_BUF_SIZE	RXC_BUFF_SIZE
#define WH_DATA_MAXLENGTH	500
typedef struct {
	
	INT8U	rxbuf[WH_BUF_SIZE];
	INT8U	txbuf[WH_BUF_SIZE];

}ProtocolBuf;

__packed struct WHFileInfo{	//文件信息
	char	Name[MAXFILENAMELEN];
	INT32U	Attr;		//文件属性
	INT32U	Length;		//长度
	INT32U	CreateTime;	//创建时间
};

/*------------------------------------------------------------------------
				[常数说明]
------------------------------------------------------------------------*/

#define WH_USERLAND				0x30			//用户登陆
#define WH_PARAOK				0x31			//参数确认
#define WH_VARPOLL				0x32			//变量查询或修改

	#define WH_EXT_VAR_QUERY			0		//查询
	#define WH_EXT_VAR_MODIFY			1		//修改
	
#define WH_RESET				0x33			//复位

	#define WH_EXT_RESET_HEAT			0		//热复位
	#define WH_EXT_ERSET_COLD			1		//冷复位
	
#define WH_TIME					0x34			//时钟

	#define WH_EXT_TIME_COUNTERPOISE		0		//对钟
	#define WH_EXT_TIME_READ			1		//读时钟
	
#define WH_FILESYS				0x35			//文件系统操作
	#define WH_EXT_FILE_INIT			0		//初始化
	#define WH_EXT_FILE_READ			1		//读文件
	#define WH_EXT_FILE_CONTENT			2		//文件内容
	#define WH_EXT_FILE_CANCEL			3		//退出文件操作
	#define WH_EXT_FILE_DELETE			4		//删除文件
	#define WH_EXT_FILE_LISTDIR			5		//列表所有目录
	#define WH_EXT_FILE_RENAME			6		//重命名
	#define WH_EXT_FILE_MKDIR			7		//建立目录
	#define WH_EXT_FILE_DELDIR			8		//删除目录
	#define WH_EXT_FILE_MODIFYATTRIB		9		//修改属性
	#define WH_EXT_FILE_REMOTE_UP			10		//文件上装
	#define WH_EXT_FILE_REMOTE_DOWN			11		//文件下装
	#define WH_EXT_FILE_FORMAT_DISK			12		//格式化盘
	#define WH_EXT_FILE_CLEARUP_DISK		13		//清理磁盘
	
#define WH_SQLPOLL				0x36			//数据库操作

	#define WH_EXT_YX				0x01		//遥信 SOE COS	依靠变体区分
	#define WH_EXT_YK				0x02		//暂时不用
	#define WH_EXT_DD				0x03		//电度
	#define WH_EXT_YC				0x04		//遥测
	#define WH_EXT_YT				0x05		//暂时不用
	#define WH_EXT_FAULTOBJ				0x06
	#define WH_EXT_CLASEOBJ				0x07
	#define WH_EXT_FILEOBJ				0x08
	#define WH_EXT_TQOBJ				0x09
	#define WH_EXT_PARAOBJ				0x0a
	#define WH_EXT_OTHINFOOBJ			0x0b
	#define WH_EXT_CONFOBJ				0x0c
	#define WH_EXT_COMMOBJ				0x0d
	#define WH_EXT_SPIOBJ				0x0e
	#define WH_EXT_BCDOBJ				0x0f
	#define WH_EXT_ROUTEOBJ				0x11
	
#define WH_EXE					0x37		//执行命令

	#define WH_EXT_BOOBJ_LOGIC			0x02		//逻辑库
	#define WH_EXT_BOOBJ_REAL			0x42		//实际库遥控
	
#define WH_SELECT				0x38

	#define WH_EXT_BOOBJ_LOGIC			0x02		//逻辑库
	#define WH_EXT_BOOBJ_REAL			0x42		//实际库遥控
	
		#define WH_YK_SHORTPLUSE			0x01
		#define WH_YK_LONGPLUSE				0x02
		#define WH_YK_CONTINUEOUTPUT			0x03
		#define WH_YK_KAIGUANID				0x10
		#define WH_YK_DEL				0x20
		#define WH_YK_OPERATESTATUS			0xc0
		
		#define WH_YK_NOHEFEN				0x00
		#define WH_YK_HE				0x40
		#define WH_YK_FEN				0x80
		#define WH_YK_UNCOMMAND				0xc0
		
		#define WH_YK_ACCEPT				0x00
		#define WH_YK_UNACCEPT				0x01
		#define WH_YK_NOSELECT				0x02
		#define WH_YK_ERRORFORMAT			0x03
		#define WH_YK_ERRORPOINT			0x04
		#define WH_YK_OPERATING				0x05
		#define WH_YK_ERROR				0x06
	
#define WH_OPERATE				0x39
	#define WH_EXT_OPR_DOWN_DSP			0		//下装dsp程序
	#define WH_EXT_OPR_POSITIVE_CHK			1		//
	#define WH_EXT_OPR_REVERSE45_CHK		2
	#define WH_EXT_OPR_ZEROFLOAT_CHK		3
	#define WH_EXT_OPR_ACCUMULATOR			4
	#define WH_EXT_OPR_LOCALE_CHK			5
	#define WH_EXT_OPR_CHANNEL			6
	#define WH_EXT_OPR_SHOWRESULT			7
	#define WH_EXT_OPR_SAMPLECURVE			8
	#define WH_EXT_OPR_DC_BYVALUE			9
	#define WH_EXT_OPR_POSITIVE45_HITEMP		10
	#define WH_EXT_OPR_POSITIVE45_LOTEMP		11
	#define WH_EXT_OPR_REVERSE45_HITEMP		12
	#define WH_EXT_OPR_REVERSE45_LOTEMP		13
	#define WH_EXT_OPR_ZEROFLOAT_HITEMP		14
	#define WH_EXT_OPR_ZEROFLOAT_LOTEMP		15
	#define WH_EXT_OPR_ACCUMULATOR_HITEMP		16
	#define WH_EXT_OPR_ACCUMULATOR_LOTEMP		17
	#define WH_EXT_OPR_CHANNEL_HITEMP		18
	#define WH_EXT_OPR_CHANNEL_LOTEMP		19
	#define WH_EXT_OPR_SHOWRESULT_HITEMP		20
	#define WH_EXT_OPR_SHOWRESULT_LOTEMP		21
	#define WH_EXT_OPR_DC_BYVALUE_HITEMP		22
	#define WH_EXT_OPR_DC_BYVALUE_LOTEMP		23
	
#define WH_WHEND				0x3a
#define WH_ACK					0x3b
#define WH_NAK					0x3c
	#define WH_EXT_NAK_OTHER_ERROR			0
	#define WH_EXT_NAK_CMD_ERROR			1
	#define WH_EXT_NAK_RESULT_ERROR			2
	#define WH_EXT_NAK_NO_PERMISSION		3
	#define WH_EXT_NAK_OVER_RETRY			4
#define WH_FAULT_RECORD				0x3d				//故障录波

	#define WH_EXT_FAULT1_RECORD	1		//第一路馈线
	#define WH_EXT_FAULT2_RECORD	2		//第二路馈线
	
#define WH_VIEW_BUFF				0x3e
	
	#define WH_EXT_VIEW_BUFF_START			0
	#define WH_EXT_VIEW_BUFF_STOP			1
	
	#define WH_VIEW_BUFF_USART0			3
	#define WH_VIEW_BUFF_USART1			4
//-------------------------------------------------------------------------------	 
//变体定义
//维护规约中查询数据库用到的变体
//-------------------------------------------------------------------------------
#define YX_REAL					0x04
#define YC_REAL					0x04
#define KWH_REAL				0x04
#define YX_LOGIC				0x07
#define KWH_LOGIC				0x09
#define YC_LOGIC				0x0a
#define SOE_LOGIC				0x0c
#define COS_LOGIC				0x0d
#define SOE_REAL				0x0e
#define COS_REAL				0x0f
#define YK_REAL
#define YK_LOGIC

void MainSecTask(struct SysPort *info);

#define WHAck(port)		WHRes(port, WH_CMD_ACK, 0, 0)		/*确认*/
#define WHNAck(port)		WHRes(port, WH_CMD_NACK, 0,0)		/*否认*/

int COM1OnRx(void);
void WHOnRx(INT8U port);
void  WHAppLayer(INT8U port);
void WHRes(INT8U port, INT8U cmd, INT8U cmd_ext, INT16U len);
void WH_Send_YC(INT8U port);
void WH_Sample(INT8U Num,INT8U port);
void WH_Send_YX(INT8U port);
void WH_Send_DD(INT8U port);
void WH_WRITE_CLOCK(INT8U port);
void WH_READ_CLOCK(INT8U port);
void WH_READ_BUFF(INT8U port,INT8U read_port);
void WH_STOP_READ_BUFF(INT8U port);
void WHReset(INT8U port);
void WH_YKSELECT(INT8U port);
void WH_YKEXE(INT8U port);
void WHACK(INT8U port);
void WHNAK(INT8U port,INT8U error);
void WH_Send_SYSINFO(INT8U port);
void WH_FileHead(INT8U port,struct FileInfo* pFile);
void WH_FileList(void *FileName,INT8U port);
void WH_FileRead(INT8U port,INT16U packetnum,struct FileInfo* pFile);
BOOL USART_READ_LENGTH(INT8U port,INT8U Length);
void WHYKRespond(struct SysPort *info, struct DBBOOPInfo *msg, INT8U Port);
INT16U WHGetAddr(INT16U Port);
#endif

⌨️ 快捷键说明

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