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

📄 hart1151.h

📁 有关HART通讯命令协议和使用说明
💻 H
字号:
#ifndef   _hart1151
#define   _hart1151

#include "msp430x14x.h"

/*------------------------------------------------
------------------------------------------------*/
#define	TRUE	1
#define	FALSE	0
#define	ADC_Number	100
#define	ADC_TEMPN	15
/*------------------------------------------------	
mainiv
------------------------------------------------*/
//#define ADbreak_iv		BITF
#define ADrst_iv		BITE
#define drdy_iv			BITD
#define ADrdc_iv		BITC
#define TimeOut_iv		BITB
#define EnableIndicate_iv	BITA
#define xmtRequest_iv		BIT9
#define xmtConfirm_iv		BIT8
#define CarrierArrive_iv	BIT7
#define xmtEnable_iv		BIT6
#define xmtUsing_iv		BIT5

//tastiv
#define irxa_iv			BIT4
#define Serial1Receive_iv	BIT3
/*------------------------------------------------
mainifg
------------------------------------------------*/
#define	Preamble	BITF	//发送序言标志
#define	LongAddr	BITE	//长帧标志
#define Burst		BITD	//成组模式标志
#define MsgPending	BITC	//信息位处理标志
#define Host		BITB	//主设备标志

#define ADErr		BIT7
#define DAErr		BIT7
/*------------------------------------------------
------------------------------------------------*/
#define wake1()	{_OPC(0xc0b1);_OPC(0x0010);_OPC(0x0000);}//BIC #CPUOFF,0(SP)
#define wake2()	{_OPC(0xc0b1);_OPC(0x0010);_OPC(0x0002);}//BIC #CPUOFF,2(SP)
#define wakeup(x)	{_OPC(0xc0b1);_OPC(0x0010);_OPC(2*x);}//BIC #CPUOFF,2(SP)
/*------------------------------------------------
------------------------------------------------*/
struct EEP_DataT
{
	int 	EEP_Flag;
	int 	Addr[5];
	int 	SAddr;
	int 	Poll_Flag;//轮训地址标志位,为1表示轮训状态;
	int 	Messenger[24];
	int 	Tag[6];		//Tag,Packed-ASCΠ
	int 	Descr[12];	//Descriptor,Packed-ASCΠ
	int 	Date[3];	//Date,8-bit unsigned integers,day,month,year
	int	SerialNum[3];	//Primary Variable Sensor Serial Number
	int	SpanUnits;	//Primary Variable Sensor Limits and Minimum Span Units Code
	int	AlarmSel;	//Primary Variable Alarm Selection Code
	int	XferFunc;	//Primary Variable Transfer Function Code
	int	RangeUnits;	//Primary Variable Upper and Lower Range Values Units Code
	int	WriteProt;	//Write Protect Code
	int	LabelDist;	//Private Lable Distributor Code
	
	int 	FAN[3];
	
	int	Stuff[11];	
	int	TestType;	
	int	DisplayPrecision;
	int 	X0;
	int 	Xm;
	int 	Xs;
	int 	X0o;
	int 	Xmo;
	int 	Xso;
	int 	UnitRange;
	int 	WDELM_Num;
	int 	BurstModeCom;
	int 	BurstSwitch;
	int 	SensorRange;
	//-----------------------------------------------
	int 	DACode20;
	int 	DACode04;
	int	PvUnits;
	unsigned int	DAFullCode;
	unsigned int	DAZeroCode;
	unsigned int	DAHalfCode;
	int	Xdcnum;//异或校验
	int	TempZero;
	int	TempFull;
	int	Swith;
	int	SwithDA;
	int	DADelay;
	int	DADelay2;
	int	DampT;
	int	DampTT;
	int	Flag;
};
struct EEP_Data//存放到EEP中的标定系数
{
	
	float	UpSensorLimit;	//float;Primary Variable Upper Sensor Limit
	float	LowSensorLimit;	//float;Primary Variable Lower Sensor Limit
	float	MinSpan;	//float;Primary Variable Minimum Span
	
		
	float	PvUpRange;	//float;Primary Variable Upper Range Value
	float	PvLowRange;	//float;Primary Variable Lower Range Value
	float	PvDamp;	//float;Primary Variable Damping Value
	
	float 	SensorS;
	
	float	ZXC_FULLTRIM_HI;//float
	float	ZXC_FULLTRIM_LO;//float
	
	float	ZXC_FULLTRIM_HIo;//float
	float	ZXC_FULLTRIM_LOo;//float
	//----------------------------------------------
	float A1;
	float A2;
	float A3;
	float A1o;
	float A2o;
	float A3o;
	float k;
	float b;
	float ko;
	float bo;
	
	//-----------------------------------------------
	
	float UnitRangeS;
	//-----------------------------------------------
	float DAk;
	float DAb;
	float YFull;
	//float YFullo;
	//-----------------------------------------------
	//float Xdcnum;//累加和校验
	//-----------------------------------------------
	float DacIn;
	float DANk;
	float DANb;
	float DANk1;
	float DANb1;
	float Xdcnum;//累加和校验
	float Tempk;//温度斜率-A
	float Tempb;//温度截距-B
	float Tempc;//温度截距-C
	//-----------------------------------------------
	float TempZeroA;//AD零点码温度补偿系数
	float TempZeroB;
	float TempZeroC;
	//-----------------------------------------------
	float TempFullA;//AD满量程温度补偿系数
	float TempFullB;
	float TempFullC;
	//-----------------------------------------------
	float TempZeroD;
	float TempFullD;	
	//-----------------------------------------------
	float A4;
	float A4o;
	//-----------------------------------------------
	float TempFullAo;//AD满量程温度补偿系数-负区
	float TempFullBo;
	float TempFullCo;
	float TempFullDo;
	//-----------------------------------------------
	float	DAComk4;
	float	DAComb4;
	float	DAComk20;
	float	DAComb20;
	float	DAComk40;
	float	DAComb40;
	float	DAComc4;
	float	DAComc20;
	float	DAComc40;
	//float DAComk;
	//float DAComb;
	//-----------------------------------------------
	float	A4LOW;
	float	A20LOW;
	float	A4MED;
	float	A20MED;
	float	A4HIGN;
	float	A20HIGN;
	//-----------------------------------------------
	float	DARCode;
	//-----------------------------------------------
	float   TempDiff;
	float   TempDiffo;
	float   TempDiffp;
	//----------------------------------------------
	float	TempDiffDA4;
	float	TempDiffDA12;
	float	TempDiffDA20;
	//----------------------------------------------
	float Tag;
};
//float NewPVOutCode;
/*------------------------------------------------
------------------------------------------------*/
#endif

⌨️ 快捷键说明

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