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

📄 parse.h

📁 C语言源代码及相关资料
💻 H
字号:
/***------------------------------------------------------------------------------------------------------
********************************************************************************************************/

#ifndef		__PARSE_H
#define		__PARSE_H
/////////////////////////////////

//////////////////////////////////////////////
#define SMSLEN  	140     //短消息内容长度
#define TRANSLEN  	550   	//GPRS 数据包内容长度

#define SMSINFOLEN  	200     //短消息长度
#define TRANSINFOLEN  	800   	//GPRS数据包长度
#define GPRSINFOLEN  	768   	//GPRS数据包字节数,最大长度

#define SETUP_PARAMS_COUNT 			49				//用到的设定参数的总数量
#define SETUP_PARAMS_DATASIZE 		2048			//用到的设定参数的总空间大小
#define ASCII_PARAMS_COUNT 			12				//用到的设定参数中参数值为ASCII码的总数量
#define WORK_PARAMS_COUNT 			37				//用到的工作参数的总数量
#define WORK_PARAMS_DATASIZE 		128				//用到的工作参数的总空间大小
#define	CUSTOM_PARAMS_COUNT			22				//终端使用,无须上报,自定义参数的总数量
#define CUSTOM_PARAMS_DATASIZE 		1280			//用到的自定义参数的总空间大小

#define	ALARMID_COUNT				11				//告警量的总数量

#define SETUP_PARAMS_SEC 			5//1				//设定参数存放的起始扇区号
#define WORK_PARAMS_SEC 			6//2				//工作参数存放的起始扇区号
#define	CUSTOM_PARAMS_SEC			9//3				//终端自用,无须上传,自定义参数存放的起始扇区号
#define	MILEAGE_ACC_SEC				8//4				//存储里程数及ACC开关状态的起始扇区号
#define	MILEAGE_ACC_SEC_END			8//4				//存储里程数及ACC开关状态的结束扇区号

#define	FTP_SEC2			1020	////ftp success 
#define	FTP_SEC				1021    ////enter ftp flag sec
//typedef INT8U 	BUFF[TRANSLEN] ;

#define	FREE(p)		free(p);p=NULL

extern		GPS_DATA_TYPE	GPS_DATA;
/************************************************************************************/
/**/    /// <summary>    /// 参数与对应值存放的FLASH地址偏移量    ///数组对应关系,方便存取    /// </summary>
/************************************************************************************/
extern	const INT16U		 SETUP_PARAMS[];
extern	const uint16		 ASCII_Params[];
extern	const INT16U		 WORK_PARAMS[];
extern	const INT16U 	 	 CUSTOM_PARAMS[];
extern	 	  INT8U 	 	 ALARM_ID_STATUS[];


/***********************************************************************
**函数功能:根据对象标号得到存储长度及存储地址偏移量
**Oid:		对象标号
**Olen:		对象数据长度
**Omove:	对象存储地址偏移量
**************************************************************************/
extern	uint8	GetOmoveAddr(const	uint16	*	params,const	uint16	params_Cou,uint16		Oid,uint16 * 	Olen,uint16	*	Omove);

/***********************************************************************
**函数功能:
**alarmID:		告警项代码
**返回值:		告警项的索引
**************************************************************************/
extern	INT8U	GetAlarmID_Index(uint8	alarmID);

/***********************************************************************
**函数功能:根据对象标号,存储的参数值,得到实际存储ASCII码值长度
**************************************************************************/
extern	INT8U	GetParamVal_ASCII(uint16 	param_ID,uint8		* buff,uint32	* paramValue_Len);


//////////////////////////////////////////////////////////////////////
/*********************************************************************
**函数功能:CRC校验
**len:源字符数组长度
**str:源字符数组
**CRC:返回CRC校验值,类型为INT16U
**********************************************************************/
extern	 INT16U getCrc(INT8U * str,INT8U len);

/*********************************************************************
**函数功能:合并两个字符为一个字符
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:返回值 ,目的字符数组的长度
**********************************************************************/
extern 	INT16U getHexStr(INT8U *strDest,INT8U * str,INT16U len);

/*********************************************************************
**函数功能:拆分一个字节为两个字节
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:返回值 ,目的字符数组的长度
**********************************************************************/
extern	  INT16U getAStr(INT8U *strDest,INT8U *str,INT16U len);

/*********************************************************************
**函数功能:删除源字符数组中,指定位置开始的指定数量的字符,
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**start:指定的开始位置
**count:指定的长度
**j:返回值 ,目的字符数组的长度
*********************************************************************/
extern	INT16U  strSplit(INT8U * strDest,INT8U * str,INT8U len,INT8U start,INT8U count,INT8U *split);

/*********************************************************************
**函数功能:进行CRC校验,并将校验结果放到目的字符数组后
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:目的字符数组长度
**********************************************************************/
extern	INT8U strCRC(INT8U * strDest,INT8U * str,INT8U len,INT16U * crc_val);

/*********************************************************************
**函数功能:进行CRC校验,并将校验结果放到目的字符数组后
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:目的字符数组长度
**********************************************************************/
extern	INT8U strCRC_trans(INT8U * strDest,INT8U * str,INT8U len,INT16U * crc_val);
/*********************************************************************
**函数功能:转义处理
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:返回值 ,目的字符数组的长度
**********************************************************************/
extern	INT8U Revert_trans(INT8U *strDest,INT8U *str,INT8U len);

/*********************************************************************
**函数功能:反转义处理
**strDest:目的字符数组
**str:源字符数组
**len:源字符数组长度
**j:返回值 ,目的字符数组的长度
**********************************************************************/
extern	INT8U unRevert_trans(INT8U *strDest,INT8U *str,INT8U len);


//////////////////////////////////////////////////////////////////////

#endif
/************************************************************************************/


⌨️ 快捷键说明

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