#ifdef        GLOBALS_VARIABLE
    #define   EXTERN_VAR
    
#else
    #define   EXTERN_VAR     extern
    
#endif

#ifndef GLOBALS_VAR_H_
#define GLOBALS_VAR_H_  
		EXTERN_VAR     volatile  INT8U               SCIRV[SCI_LEN];
		EXTERN_VAR     volatile  SciFrameType        SciFrame;
		EXTERN_VAR     volatile  KeyType             G_Button;
    EXTERN_VAR     volatile  INT8U               rvcnt;
    EXTERN_VAR     volatile  INT8U               check;
    EXTERN_VAR     volatile  INT8U               bReturn; 
    EXTERN_VAR     volatile  INT8U               RunStep;          
    EXTERN_VAR     volatile  INT16U              FlashCommandArray[MaxDFlashCommandCounter];
    EXTERN_VAR     volatile  INT8U               Curkeyinput;  
    EXTERN_VAR     volatile  ClockType           Clock;
    EXTERN_VAR     volatile  MeterPos            QY1Meter;
    EXTERN_VAR     volatile  MeterPos            QY2Meter;
    
    EXTERN_VAR     volatile  MeterPos            FuelMeter;
    EXTERN_VAR     volatile  MeterPos            TempMeter;
    EXTERN_VAR     volatile  MeterPos            VehMeter;
    EXTERN_VAR     volatile  MeterPos            RevMeter;  
    EXTERN_VAR     volatile  MeterPos            AdbuleMeter;    
    EXTERN_VAR     volatile  EE_MeterType        FuelMeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        VehMeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        RevMeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        TempMeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        QY1MeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        QY2MeterParamer;
    EXTERN_VAR     volatile  EE_MeterType        AdbuleMeterParamer;
    EXTERN_VAR     volatile  RadioMeter          Radio;
    EXTERN_VAR     volatile  CarFlagType         CarFlag;     
	  EXTERN_VAR     volatile  RegisterType        AccKm;
	  EXTERN_VAR     volatile  RegisterType        AccKm1;
	  EXTERN_VAR     volatile  RegisterType        OldAccKm;
    EXTERN_VAR     volatile  AccddrType          AccAddr;
    EXTERN_VAR     volatile  ADEve               ADEveArry; 
		EXTERN_VAR     volatile  INT16U              VehFreLimit; 
		EXTERN_VAR     volatile  INT16U              RevFreLimit; 
		EXTERN_VAR     volatile  FreType             VehFre; 
		EXTERN_VAR     volatile  FreType             RevFre;     
    EXTERN_VAR     volatile  TempType            TempSignal;
    EXTERN_VAR     volatile  LedType             LED;
    EXTERN_VAR     volatile  ULONG               CurRevCnt;           
    EXTERN_VAR     volatile  ULONG               OldRevCnt; 
    EXTERN_VAR     volatile  ULONG               CurVehCnt;           
    EXTERN_VAR     volatile  ULONG               OldVehCnt;  
    EXTERN_VAR     volatile  ULONG               CurLightCnt;           
    EXTERN_VAR     volatile  ULONG               OldLightCnt;   
    EXTERN_VAR     volatile  ULONG               CurTempCnt;           
    EXTERN_VAR     volatile  ULONG               OldTempCnt;          
	  EXTERN_VAR     volatile  INT8U               CheckStep;	
		EXTERN_VAR     volatile  INT16U              AccPulse;
		EXTERN_VAR     volatile  BeepType            Beep[10];
		EXTERN_VAR     volatile  BeepType            NopBeep;
		EXTERN_VAR     volatile  BeepType            *pBeep;
		EXTERN_VAR     volatile  BeepType            *BeepBuf[8];
		EXTERN_VAR     volatile  INT16U              SleepTime;
		EXTERN_VAR     volatile  INT16U              DropTime;
		EXTERN_VAR     volatile  INT8U               bState;
	  EXTERN_VAR     volatile  CommType	           Comm;
	  EXTERN_VAR     volatile  BcmType             BcmModel;
	  
    EXTERN_VAR     volatile  INT32U              w;
    EXTERN_VAR     volatile  INT32U              w1;
    EXTERN_VAR     volatile  INT32U              RL;    
    EXTERN_VAR     volatile  INT32U              R4;
    EXTERN_VAR     volatile  INT32U              R5;
    EXTERN_VAR     volatile  INT32U              R6;
    EXTERN_VAR     volatile  INT32U              Vcc;
    EXTERN_VAR     volatile  INT32U              OldVcc;
    EXTERN_VAR     volatile  INT32U              Vcpu;
    EXTERN_VAR     volatile  SerKmType           SevKm;
    EXTERN_VAR     volatile  INT32U              VehCycl;
    EXTERN_VAR     volatile  INT32U              RevCycl;
             
    EXTERN_VAR     volatile  INT8U               FP22BP;
    EXTERN_VAR     volatile  INT8U               FP24BP;  
    EXTERN_VAR     volatile  INT8U               FP25BP;
    EXTERN_VAR     volatile  INT8U               FP26BP;      
    EXTERN_VAR     volatile  INT8U               FP29BP;
    EXTERN_VAR     volatile  INT8U               FP30BP;
    EXTERN_VAR     volatile  INT8U               FP31BP;      
    EXTERN_VAR     volatile  INT8U               FP32BP;
    EXTERN_VAR     volatile  INT8U               FP33BP;
    EXTERN_VAR     volatile  INT8U               FP34BP;
    EXTERN_VAR     volatile  INT8U               FP35BP;
    EXTERN_VAR     volatile  INT8U               FP36BP;      
    EXTERN_VAR     volatile  INT8U               FP37BP;
    EXTERN_VAR     volatile  INT8U               FP38BP;
    EXTERN_VAR     volatile  INT8U               FP39BP; 	
    
    EXTERN_VAR     volatile  INT8U               HTFP08;
    EXTERN_VAR     volatile  INT8U               HTFP09; 
    EXTERN_VAR     volatile  INT8U               HTFP10;   
    EXTERN_VAR     volatile  INT8U               HTFP11;  
    EXTERN_VAR     volatile  INT8U               HTFP12;  
    EXTERN_VAR     volatile  INT8U               HTFP13;
    EXTERN_VAR     volatile  INT8U               HTFP14; 
    EXTERN_VAR     volatile  INT8U               HTFP15;   
    EXTERN_VAR     volatile  INT8U               HTFP16;  
    EXTERN_VAR     volatile  INT8U               HTFP17; 
    EXTERN_VAR     volatile  INT8U               HTFP18;
    EXTERN_VAR     volatile  INT8U               HTFP19; 
    EXTERN_VAR     volatile  INT8U               HTFP20;   
    EXTERN_VAR     volatile  INT8U               HTFP21;  
    EXTERN_VAR     volatile  INT8U               HTFP22; 
    EXTERN_VAR     volatile  INT8U               HTFP23; 
    EXTERN_VAR     volatile  INT8U               HTFP24;
    EXTERN_VAR     volatile  INT8U               HTFP25; 
    EXTERN_VAR     volatile  INT8U               HTFP26;   
    EXTERN_VAR     volatile  INT8U               HTFP27;  
    EXTERN_VAR     volatile  INT8U               HTFP28; 
    EXTERN_VAR     volatile  INT8U               HTFP29;  
    EXTERN_VAR     volatile  INT8U               HTFP30; 
    EXTERN_VAR     volatile  INT8U               HTFP31;
         
    EXTERN_VAR     volatile  INT8U               ReadState;
    EXTERN_VAR     volatile  INT8U               ClrEn;
    EXTERN_VAR     volatile  _SendCanMsg       g_txCanMsg;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgF004;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFEEE;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFEFF;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFEE4;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFF08;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFE5600;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFE563D;  
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgEECA00; 
 //   EXTERN_VAR     volatile  __RevCanMsg       CanMsgEECA3D;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFE40;
 //   EXTERN_VAR     volatile  __RevCanMsg       CanMsgFF0A;    lzs--shan--
 //   EXTERN_VAR     volatile  __RevCanMsg       CanMsgFF04;    lzs--shan--
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgF001;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg0CF00300;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg18FEF100;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg18FD7C00;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg18E0FF00;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg18FEF200;
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFEEF;
    //EXTERN_VAR     volatile  __RevCanMsg       CanMsg18ECFF00; 
    //EXTERN_VAR     volatile  __RevCanMsg       CanMsg18EBFF00; 
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFEBF0B; 
    EXTERN_VAR     volatile  __RevCanMsg       CanMsgFD0700;
    //lzs--jia---------------------------------------------------
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg18FEFF00;   //驾驶员警告--潍柴报文-----
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg1CFFBE18;   
   // EXTERN_VAR     volatile  __RevCanMsg       CanMsg18FECA10;   //驾驶员警告--玉柴报文-----
    EXTERN_VAR     volatile  __RevCanMsg       CanMsg5F2;
    //
    EXTERN_VAR     volatile  __CanClk          CanClk;
    EXTERN_VAR     volatile  _Encode           m_Encoded;
    EXTERN_VAR     volatile  INT16U            FuelTime;
    EXTERN_VAR     INT8U   TIME_ZAQD;     //ȥ�����ü�ʱ��(2MS��λ)
    EXTERN_VAR     INT8U   TIME_ZAQD;     //ȥ�����ü�ʱ��(2MS��λ)  
    EXTERN_VAR     INT8U   OLDQD_ZAQD;    //�ɵ�ȥ�������ֵ 
    EXTERN_VAR     INT8U bDSTable[MAX_DS_ID];
    EXTERN_VAR     volatile  INT8U bCatalystLevel;
    EXTERN_VAR     volatile  INT8U bAdBlueStep; 
    EXTERN_VAR     volatile  INT8U bEwLampFlag;//�������Ƶ�CAN���ձ��
    EXTERN_VAR     volatile  INT8U bEsLampFlag;//���������CAN���ձ��
    EXTERN_VAR     volatile  INT8U bFFogFlag;  //������CAN���ձ��
    EXTERN_VAR     volatile  INT8U bAbsFlag;   //ABS��CAN���ձ��
    EXTERN_VAR     volatile  INT8U bLtrnFlag;  //��ת���CAN���ձ��
    EXTERN_VAR     volatile  INT8U bRtrnFlag;  //��ת���CAN���ձ��
    EXTERN_VAR     volatile  INT8U bAdBlueFlag;//����CAN���ձ�� 
    EXTERN_VAR     volatile  INT8U bOBDFlag;   //OBDCAN���ձ�� 

    EXTERN_VAR     volatile  INT8U bF004Flag;
    EXTERN_VAR     volatile  INT8U bFEEEFlag;  
    EXTERN_VAR     volatile  INT8U bFEFFFlag;   
    EXTERN_VAR     volatile  INT8U bFEE4Flag;  
    EXTERN_VAR     volatile  INT8U bFF08Flag;  
    EXTERN_VAR     volatile  INT8U bFE5600Flag;
    EXTERN_VAR     volatile  INT8U bFE563DFlag;
    EXTERN_VAR     volatile  INT8U bECFF00Flag;
    EXTERN_VAR     volatile  INT8U bEBFF00Flag;
    EXTERN_VAR     volatile  INT8U bFECA00Flag;
    EXTERN_VAR     volatile  INT8U bFECA3DFlag;
    EXTERN_VAR     volatile  INT8U bFE40Flag;
 //   EXTERN_VAR     volatile  INT8U bFF0AFlag;   lzs--shan
 //  EXTERN_VAR     volatile  INT8U bFF04Flag;    lzs--shan
    EXTERN_VAR     volatile  INT8U bF001Flag;
    EXTERN_VAR     volatile  INT8U b0CF00300Flag;
    EXTERN_VAR     volatile  INT8U bFEF200Flag;
    EXTERN_VAR     volatile  INT8U bFEF1lag;
    EXTERN_VAR     volatile  INT8U bFD7Clag;
    EXTERN_VAR     volatile  INT8U bE0FF00Flag;
    EXTERN_VAR     volatile  INT8U bFEEFlag;
    
    EXTERN_VAR  INT8U   TIME_LTRN;     //ȥ�����ü�ʱ��(2MS��λ) 
    EXTERN_VAR  INT8U   TIME_RTRN;     //ȥ�����ü�ʱ��(2MS��λ) 
    EXTERN_VAR  INT8U   TIME_OBDH;     //ȥ�����ü�ʱ��(2MS��λ)    
    EXTERN_VAR  INT8U   TIME_OBDL;     //ȥ�����ü�ʱ��(2MS��λ)  
    EXTERN_VAR  INT8U   TIME_FFOG;     //ȥ�����ü�ʱ��(2MS��λ)  
    EXTERN_VAR  INT8U   TIME_ABS;     //ȥ�����ü�ʱ��(2MS��λ)  

    EXTERN_VAR  INT8U   KeyShortClr;
    EXTERN_VAR  INT8U   KeyRadioSet; 

   EXTERN_VAR     volatile  INT16U              FreDiv4Pulse;  
   EXTERN_VAR     volatile  INT16U              FuleSpeed;
   EXTERN_VAR     volatile  INT8U               RevFlag;
   EXTERN_VAR     volatile  INT8U               FuleShowFlag;
   EXTERN_VAR               INT8U               Fuelnum;
   EXTERN_VAR     volatile  INT8U               TempShowFlag; 
   EXTERN_VAR     volatile  INT16U              TempSpeed;
   EXTERN_VAR               INT8U               Tempnum; 
   //
   EXTERN_VAR     volatile  INT8U               SendTimes;
   EXTERN_VAR     volatile  INT8U               SendFlag;
   EXTERN_VAR     volatile  INT32U              g_txCanMsgID;
   //  
   EXTERN_VAR     volatile  INT8U               Adbule_Section; 
   EXTERN_VAR     volatile  INT8U               QY1_Section; 
   EXTERN_VAR     volatile  INT8U               QY2_Section;                            
   EXTERN_VAR     volatile  INT16U              InitAdblueTime; 
   EXTERN_VAR     volatile  INT16U              InitQy1Time; 
   EXTERN_VAR     volatile  INT16U              InitQy2Time; 
   EXTERN_VAR     volatile  INT32U              AdblueInitTime;
   EXTERN_VAR     volatile  INT8U               AdblueInitDealyTime;
   EXTERN_VAR     volatile  INT32U              QY1InitTime;
   EXTERN_VAR     volatile  INT32U              QY2InitTime;
   EXTERN_VAR     volatile  INT8U               QY1InitDealyTime;  
   EXTERN_VAR     volatile  INT8U               QY2InitDealyTime;  
   EXTERN_VAR     volatile  INT8U               InitAdblueFlag;
   EXTERN_VAR     volatile  INT8U               InitQYFlag1;
   EXTERN_VAR     volatile  INT8U               InitQYFlag2;
   //glz--20170518
   EXTERN_VAR     volatile  INT32U              CansendVeh;
   EXTERN_VAR     volatile  INT8U               ParkIn_Flag; 
   EXTERN_VAR     volatile  INT8U               Dangwei_Flag; 
   EXTERN_VAR     volatile  INT8U               StopScale_Flag;
   EXTERN_VAR     volatile  INT8U               OilScale;
   //glz--20170518 
   EXTERN_VAR     volatile  INT32U               Cluch1_V;
   EXTERN_VAR     volatile  INT32U               Cluch2_V;
   EXTERN_VAR     volatile  INT32U               CluchScaleVaule;
   EXTERN_VAR     volatile  INT8U                CluchScaleFlag;
   EXTERN_VAR     volatile  INT32U               stand_id;
   EXTERN_VAR     volatile  INT32U               ext_id;
   EXTERN_VAR     volatile  INT32U               QY1SendVaule;
   EXTERN_VAR     volatile  INT32U               QY2SendVaule;
   EXTERN_VAR     volatile  INT8U                OBD_CheckOneFlag;
   EXTERN_VAR     volatile  INT8U                OBD_CheckTime;
   EXTERN_VAR     volatile  INT8U                PackBroadFlag;
   EXTERN_VAR     volatile  INT8U                bCanDropTimes; 
   EXTERN_VAR     volatile  INT8U                bcanbussleep; 
   EXTERN_VAR     volatile  INT8U                bCanDropTimes;
   EXTERN_VAR     volatile  INT16U               wVcc;  
   //�����ٱ�
   EXTERN_VAR     volatile  INT8U               RadioKeyDUpState; 
   EXTERN_VAR     volatile  INT8U               OldRadioKeyDUpState;  
   EXTERN_VAR     volatile  INT16U              CancelRadioTime;
   EXTERN_VAR     volatile  INT16U              QuitRadioTime;    
   EXTERN_VAR     volatile  INT8U               SetRadioWei; 
   EXTERN_VAR     volatile  INT8U               SetRadioTime;
   EXTERN_VAR     volatile  INT8U               SetRadioTimeFlag;    
   //
   EXTERN_VAR     volatile  INT32U              InstFuelConsump;
   EXTERN_VAR     volatile  INT32U              AvgFuelConsump;   
   EXTERN_VAR     volatile  INT16U              OilPressure; 
   EXTERN_VAR     volatile  INT8U                g_accTime; 
   EXTERN_VAR     volatile  INT8U                g_bReturn;
   EXTERN_VAR     volatile  INT8U                OUT_2000km_Clear;
   EXTERN_VAR     volatile  INT8U                ClearOdoCanTimes;
   EXTERN_VAR     volatile  INT8U                ClearOdoCanOut;
   EXTERN_VAR     volatile  INT8U                ClearOdoCanOutCn;
   
   EXTERN_VAR     volatile  INT16U               TempMeter_CurBoardVal;
   EXTERN_VAR     volatile  INT16U               TempMeter_DelayTime; 
   //
   EXTERN_VAR MULCANMSG MulCanMsg_ECM18EBFF00; 
   EXTERN_VAR INT8U Engine21_18EBFF00;
   EXTERN_VAR INT8U OBDLamp87_18EBFF00;
   EXTERN_VAR DTC EcmDtcTbl[DTCTBLLEN];
   EXTERN_VAR INT8U bEcmDtcCnt;  
   
   
   EXTERN_VAR     volatile  INT8U               test1;    
   
#endif /* GLOBALS_VAR_H_ */
