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

📄 param.c

📁 C语言源代码及相关资料
💻 C
📖 第 1 页 / 共 3 页
字号:
	0x0101,      //里程数	占用4个字节,数值范围0~4294967295,单位:米。
	0x0102,      //油箱油位值	占用2个字节,  数值范围0~65535   单位:0.001V
	0x0103,      //GSM信号强度	占用1个字节,数值范围0~31
	0x0104,      //喷油累计时间	占用4个字节,数值范围0~4294967295,单位:mS
	0x0105,      //温度值(无线)	占用3个字节,具体详见表A.46
	0x0106,      //油箱油位值(无线)	占用2个字节,  数值范围0~65535   单位:0.01V
	0x0107,      //脉冲(1)信号个数	占用4个字节,数值范围0~4294967295,单位:千个
	0x0108,      //湿度值(无线)	占用2个字节,具体详见表A.47
	0x0109,		//0109H	油箱1油位百分比	占用1个字节,表示当前油位的百分比 单位:% 取值范围:0-100
	0x0111,		//0111H	无线温度值1	具体详见表A.48
	0x0112,		//0112H	无线温度值2	具体详见表A.48
	0x0113,		//0113H	无线温度值3	具体详见表A.48
	0x0114,		//0114H	无线温度值4	具体详见表A.48

	//数据传输类工作参数(第一个字节为O2H)
	0x0200,      //数据传输1	详细参见每批次采购技术状态
	
	
	
	
	/////////////////////////////////////////////////数据长度///////////////////////////
	
	//开关量类工作参数(第一个字节为OOH)
	0x0001,      //开关量1	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量2	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量3	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量4	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量5	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量6	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量7	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量8	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量9	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量10	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量11	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量12	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量13	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量14	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量15	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,      //开关量16	占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0006,	/*0011H	无线开关量1	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/
	0x0006,/*0012H	无线开关量2	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/
	0x0006,/*0013H	无线开关量3	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/
	0x0006,/*0014H	无线开关量4	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/
	0x0006,/*0015H	无线开关量5	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/
	0x0006,/*0016H	无线开关量6	占用6个字节,格式如下:
			起始字节	字段	长度(字节)	说明
			7	传感器ID	4	4个字节
			13	开关量	1	00表示关闭,11表示打开
			14	电池状态	1	00表示正常,11表示低电压报警
			*/

	//数值类工作参数(第一个字节为O1H)
	0x0004,      //ACC累计时间	占用4个字节,数值范围0~4294967295,单位:秒。
	0x0004,      //里程数	占用4个字节,数值范围0~4294967295,单位:米。
	0x0002,      //油箱油位值	占用2个字节,  数值范围0~65535   单位:0.001V
	0x0001,      //GSM信号强度	占用1个字节,数值范围0~31
	0x0004,      //喷油累计时间	占用4个字节,数值范围0~4294967295,单位:mS
	0x0003,      //温度值(无线)	占用3个字节,具体详见表A.46
	0x0002,      //油箱油位值(无线)	占用2个字节,  数值范围0~65535   单位:0.01V
	0x0004,      //脉冲(1)信号个数	占用4个字节,数值范围0~4294967295,单位:千个
	0x0002,      //湿度值(无线)	占用2个字节,具体详见表A.47
	0x0001,		//0109H	油箱1油位百分比	占用1个字节,表示当前油位的百分比 单位:% 取值范围:0-100
	0x0008,		//0111H	无线温度值1	具体详见表A.48
	0x0008,		//0112H	无线温度值2	具体详见表A.48
	0x0008,		//0113H	无线温度值3	具体详见表A.48
	0x0008,		//0114H	无线温度值4	具体详见表A.48
	//数据传输类工作参数(第一个字节为O2H)
	0x0002,      //数据传输1	详细参见每批次采购技术状态
	
	
};

///////终端使用,无须上报,自定义参数
INT16U const CUSTOM_PARAMS[CUSTOM_PARAMS_COUNT*2]={
	///////////自定义参数ID
	///追踪参数
	0x0000,			//通信方式	占用1个字节:
	0x0001,			//时间间隔(ACC开)	2	单位:秒,最小为0,默认为0秒
	0x0002,			//时间间隔(ACC关)	2	单位:秒,最小为0,默认为0秒
	0x0003,			//距离间隔	2	单位:米,最小为0,默认为0,最大为65535米
	
	
	0x0004,			//记录保存里程数及ACC的当前扇区号,2个字节
	0x0005,			//系统第一次启动标志,1个字节.为0时表示已执行第一次启动,非0表示还未执行过
	
	///工作参数上传设置2
	0x0006,			//通信方式	占用1个字节:
	0x0007,			//时间间隔(ACC开)	2	单位:秒,最小为0,默认为0秒
	0x0008,			//时间间隔(ACC关)	2	单位:秒,最小为0,默认为0秒
	0x0009,			//距离间隔	2	单位:米,最小为0,默认为0,最大为65535米
	
	///工作参数上传设置1
	0x000a,			//通信方式。0:IP方式。1:SMS方式。1个字节
	0x000b,			//最多240个,需要存储空间480个字节。时间点的小时。时间点的小时。取值范围0至23//时间点的分钟。取值范围0至59
	
	//
	0x000c,			//求助告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x000d,			//远程控制   占用1个字节,0表示未连接;1表示关闭;2表示打开; 
	0x000e,			//调度屏告警   占用1个字节,0表示未连接;1表示关闭;2表示打开; 
	
	//设置压缩回传参数
	0x000f,	// 需压缩回传的数据.  00:表示定位数据.01:表示带工作参数的定位数据
	0x0010,		//压缩的时间间隔(ACC开).单位秒,最小为1秒。
	0x0011,	//压缩的时间间隔(ACC关).单位秒,最小为1秒。
	0x0012,	//每包压缩的位置数。		表示一个数据包可以包含的压缩位置的数量,表示范围10~33,默认值为33。
	0x0013,	//压缩回传的次数.     表示需要压缩回传的次数,当改值为FFFFH时表示连续不断的回传,当该值为0000H表示停止发送。
	
	0x0014,	//盲区保存的当前地址	占用4个字节
	0x0015,	//盲区回传的当前地址	占用4个字节
	
	//////////自定义参数数据长度///////////////////////////
	///追踪参数
	0x0001,			//通信方式	占用1个字节:
	0x0002,			//时间间隔(ACC开)	2	单位:秒,最小为0,默认为0秒
	0x0002,			//时间间隔(ACC关)	2	单位:秒,最小为0,默认为0秒
	0x0002,			//距离间隔	2	单位:米,最小为0,默认为0,最大为65535米
	
	0x0002,			//记录保存里程数及ACC的当前扇区号,2个字节
	0x0001,			//系统第一次启动标志,1个字节.为0时表示已执行第一次启动,非0表示还未执行过
	
	///工作参数上传设置2长度
	0x0001,			//通信方式	占用1个字节:
	0x0002,			//时间间隔(ACC开)	2	单位:秒,最小为0,默认为0秒
	0x0002,			//时间间隔(ACC关)	2	单位:秒,最小为0,默认为0秒
	0x0002,			//距离间隔	2	单位:米,最小为0,默认为0,最大为65535米
	
	///工作参数上传设置1
	0x0001,			//通信方式。0:IP方式。1:SMS方式。1个字节
	0x01E0,			//最多240个,需要存储空间480个字节。时间点的小时。取值范围0至23//时间点的分钟。取值范围0至59
	
	//
	0x0001,			//求助告警 占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,			//远程控制 占用1个字节,0表示未连接;1表示关闭;2表示打开;
	0x0001,			//调度屏告警   占用1个字节,0表示未连接;1表示关闭;2表示打开; 
	
	
	//设置压缩回传参数
	0x0001,	// 需压缩回传的数据.  00:表示定位数据.01:表示带工作参数的定位数据
	0x0001,		//压缩的时间间隔(ACC开).单位秒,最小为1秒。
	0x0001,	//压缩的时间间隔(ACC关).单位秒,最小为1秒。
	0x0001,	//每包压缩的位置数。		表示一个数据包可以包含的压缩位置的数量,表示范围10~33,默认值为33。
	0x0002,	//压缩回传的次数.     表示需要压缩回传的次数,当改值为FFFFH时表示连续不断的回传,当该值为0000H表示停止发送。
	
	0x0004,	//盲区保存的当前地址	占用4个字节
	0x0004,	//盲区回传的当前地址	占用4个字节
	
	
	
};
///////告警项编码,及告警状态值(状态值根据当前告警改变)
INT8U  ALARM_ID_STATUS[ALARMID_COUNT*2]={

	//告警项的编码
	0x01,//01H:求助报警;
	0x02,//02H:超速报警;
	0x03,//03H:低速报警;
	0x04,//04H:低电压报警;
	0x05,//05H: 断电报警;
	0x06,//06H:LCD故障报警;
	0x07,//07H:视频信号拆除报警 ;
	0x08,//08H:GPS模块故障报警;
	0x09,//09H:GPS天线开路报警;
	0x0A,//0AH:GPS天线短路报警;
	0x0B,//0BH:工作参数值报警;
	
	//告警状态
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,
	0x00,

};
/***********************************************************************
**函数功能:根据对象标号得到存储长度及存储地址偏移量
**Oid:		对象标号
**Olen:		对象数据长度
**Omove:	对象存储地址偏移量
**************************************************************************/
uint8	GetOmoveAddr(const	uint16	*	params,const	uint16	params_Cou,uint16		Oid,uint16 * 	Olen,uint16	*	Omove)
{
	
	uint32	i=0,CURI=0;
	*Omove=0;	//清零,防止传进来的*Omove非零
	
	for(i=0;i<params_Cou;i++)
	{
		if(Oid==params[i])
		{
			*Olen=params[params_Cou+i];
			CURI=i;
			break;
		}
	}
	if(CURI==0)
		*Omove=0;	
	else
	{
		for(i=0;i<CURI;i++)
		{
			*Omove+=params[params_Cou+i];
		}
	}
	return	TRUE;
	
}

/***********************************************************************
**函数功能:
**alarmID:		告警项代码
**返回值:		告警项的索引
**************************************************************************/
INT8U	GetAlarmID_Index(uint8	alarmID)
{
	uint8	i=0;
	for(i=0;i<ALARMID_COUNT;i++)
	{
		if(ALARM_ID_STATUS[i]==alarmID)
			return	i;
		
	}
	return	ALARMID_COUNT;
}

/***********************************************************************
**函数功能:根据对象标号,存储的参数值,得到实际存储ASCII码值长度
**************************************************************************/
INT8U	GetParamVal_ASCII(uint16 	param_ID,uint8		* buff,uint32	* paramValue_Len)
{
	uint32 iTemp=0;
	for(iTemp=0;iTemp<ASCII_PARAMS_COUNT;iTemp++)
	{
		if(param_ID==ASCII_Params[iTemp])
		{
			uint16	i=0;
			
			for(i=0;i<*paramValue_Len;i++)
			{
				if(buff[i]>0x7F)
				{
					buff[i]=0;
					break;
				}
			}
			*paramValue_Len=i;

⌨️ 快捷键说明

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