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

📄 datatype.h

📁 新能源燃料电池小车系统
💻 H
字号:
/*************TypeDef used in this programme***************/
#ifndef _Data_Type_Def_H
#define _Data_Type_Def_H

#include <hidef.h>      /* common defines and macros */
#include <mc9s12dp256.h>     /* derivative information */

/****************new dataType used following***********/

 /*** Base state of ECU used for CANVMS ***/
typedef union {
  unsigned char state;
  struct {
    byte BIT0         :1;                                       
    byte BIT1         :1;                                      
    byte BIT2         :1;                                      
    byte BIT3         :1;                                      
    byte BIT4         :1;                                      
    byte BIT5         :1;                                      
    byte BIT6         :1;
    byte BIT7         :1;                                      
  } Bits;
  struct {
    byte reserveBits  :3;
    byte ErrRank      :2;
    byte baseState    :3;
  }MergedBits;
}StateDef;

  typedef union
    { unsigned char flags;
       struct {
        unsigned char flag0         :1;                                       
        unsigned char flag1         :1;                                      
        unsigned char flag2         :1;                                      
        unsigned char flag3         :1;                                      
        unsigned char flag4         :1;                                      
        unsigned char flag5         :1;                                      
        unsigned char flag6         :1;                                       
        unsigned char flag7         :1;                                       
      } Bits;
    }ByteFlags;
    
   
  typedef union {
  	ulong ID;
  	struct{
		  uchar ID0;
  		uchar ID1;
  		uchar ID2;
  		uchar ID3;
	        }IDBYTES;
  }CAN_ID; 

  typedef struct{
	  CAN_ID ID;
  	uchar data[8];
	  uchar IdType;  
  	uchar length;
  	uchar priority;
  } CAN_Message; 


  
  typedef union
  {
    unsigned int Bits;
    struct
      {
        unsigned char DevStateL;
        unsigned char DevStateH;  
      }StateBytes;
    
    struct
      {
        unsigned  flagDrv:      1;		 //driver enable control
        unsigned  flagHEV1:     1;		 //HEV1
        unsigned  flagHEV2:     1;		 //HEV2
        unsigned  flagHEV3:     1;		 //HEV3
        unsigned  flagWEV1:     1;		 //WEV1
        unsigned  flagWEV2:     1;		 //WEV2
        unsigned  flagDIP:      1;		 //humidifier
        unsigned  flagCNT:      1;		 //Stack contactor
        unsigned  flagCMP:      1;		 //compressor
        unsigned  flagHRP:      1;		 //hydrogen circulation pump
        unsigned  flagFAN1:     1;		 //fan1
        unsigned  flagFAN2:     1;		 //fan2 
        unsigned  flagCWP:      1;		 //water pump
        unsigned  flagEWPS:     1;     //error flag for water level
        unsigned  flagFCMP:     1;     //error flag for compressor
        unsigned        :       1;
        unsigned        :       1;
        }StateFlags;
  }FCEStateD;
  
/**************Bits of TaskFlags************/
  #define flgDAINI      TaskFlags.Bits.flag0							  //trigger flag for SPI DA INI
  #define TaskSPIDA     TaskFlags.Bits.flag1								//trigger flag for SPI DA
  #define TaskSPIBP     TaskFlags.Bits.flag2								//trigger flag for SPI PWM Drv
  #define TaskCHIPAD    TaskFlags.Bits.flag3							  //trigger flag for inner AD
  #define TaskCANVMS    TaskFlags.Bits.flag4								//trigger flag for CANBA Sending message
  #define TaskCANFCE    TaskFlags.Bits.flag5								//trigger flag for CANFCE Sending message
  #define TaskVMSCmd    TaskFlags.Bits.flag6								//trigger flag for action according VMS command
  #define TaskFCECmd    TaskFlags.Bits.flag7								//trigger flag for action according FCE command
  /**************Bits of ErrFlags************/
  #define flgErrSPIAD   ErrFlags.Bits.flag0								 //stands for SPI AD conversion error   1:error occured; 0: normally;
  #define flgErrSPIDA   ErrFlags.Bits.flag1								 //stands for SPI DA conversion error   1:error occured; 0: normally;
  #define flgErrSPIBP   ErrFlags.Bits.flag2								 //stands for SPI PWM Driver error      1:error occured; 0: normally;
  #define flgErrCHIPAD  ErrFlags.Bits.flag3								 //stands for inner AD conversion error 1:error occured; 0: normally;
  #define flgErrCANVMS  ErrFlags.Bits.flag4								 //stands for CANBA conmunication error 1:error occured; 0: normally;
  #define flgErrCANFCE  ErrFlags.Bits.flag5								 //stands for CANFCE conmunication error 1:error occured; 0: normally;
  #define flgErrTsys    ErrFlags.Bits.flag6								 //stands for system temperature error
  #define flgErrPsys    ErrFlags.Bits.flag7								 //stands for system pressure error
  /**************Bits of SysFlags************/
  #define SysRun        SysFlags.Bits.flag0									 //flag for system is running
  #define SysEmgency    SysFlags.Bits.flag1									 //flag for system is emgency stopping
  #define SysPsetChange SysFlags.Bits.flag2
  #define SysRunOld     SysFlags.Bits.flag4									 //flag for system is previous running state
  #define SysEmgencyOld SysFlags.Bits.flag5	 								 //flag for system is previous emgency stopping
  
  
  
 #endif

⌨️ 快捷键说明

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