📄 datatype.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 + -