📄 ecan.h
字号:
#ifndef ECAN_H
#define ECAN_H
#define DB_MAX 128
struct TXMSGID { // bits description
Uint16 nAddr:16;
Uint16 nComm:6;
Uint16 rsvd3:2;
Uint16 nFramId:4;
Uint16 bFram:1;
Uint16 AAM:1;
Uint16 AME:1;
Uint16 IDE:1;
};
union TXMSGID_REG {
Uint32 all;
struct TXMSGID bit;
};
//#define XS_LENGTH 6
struct TxCommand_bit
{
Uint16 wr_Addr:1;
Uint16 wr_xs:6;
Uint16 rd_xs:6;
Uint16 wr_adctrl:6;
Uint16 rd_adctrl:6;
Uint16 rd_real_data:6;
Uint16 rd_db_data:6;
Uint16 rd_dreal_data:6;
Uint16 stop_db_data_sent:6;
Uint16 rd_Offset_data;
Uint16 rd_dreal_Offset_data;
Uint16 db_data_sent_wait_time_flag:1;
// Uint16 nCurrentDbSentPos:16;
// Uint16 wr_adCommand:5;
// Uint16 nCurrentDbPos:16;
};
union TxCommand_REG {
Uint32 all[3];
struct TxCommand_bit bit;
};
struct ERRFLAG_bit { // bits description
Uint16 bHaveOneDbFlag:1;
Uint16 bDbWillFullFlag:1;
Uint16 bDbHaveDataFlag:1;
Uint16 bDbHaveBreakFlag:1;
Uint16 x5043_err:1;
Uint16 ad_err:1;
Uint16 ad_isr_err:1;
Uint16 can_isr_err:1;
Uint16 time_isr_err:1;
Uint16 x5043_save:1;
Uint16 rsvd1:1;
//0:wr adr,1-4:xs wr,5-8:xs rd
};
union ERRFLAG_REG {
Uint32 all;
struct ERRFLAG_bit bit;
};
struct ADCTRL {
Uint32 nBeginTimeJG;
int16 nBeginL;
int16 nEndL;
int16 nMinPoint;
int16 nBeginU;
int16 nEndU;
//---------
Uint16 bBgeingFlag;
Uint32 bLastPointTime;
Uint16 nPointCount;
//0:wr adr,1-4:xs wr,5-8:xs rd
};
struct SYSCHECK
{
Uint16 ad_isr_flag;
Uint16 can_isr_flag;
Uint16 time_isr_flag;
Uint16 ad_err_Time;
Uint16 ad_isr_err_Time;
Uint16 can_isr_err_Time;
Uint16 time_isr_err_Time;
//--------------------------
Uint32 CanLedCtrlTime;
};
extern struct SYSCHECK sTsysErrCheck;
extern struct ADCTRL stAdCtrl;
extern int nAdresultDb[DB_MAX][29];
extern int nAdresult[20];
extern unsigned int nAdData[20*5];
extern void initCanData();
extern void AnyEcan();
extern void InitECanaMboxesMBOX_MSGID( unsigned int addr);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -