📄 ex.h
字号:
/*----------------------------------------------------------------------------*/
#ifndef _ex_global_var_h
#define _ex_global_var_h
/*----------------------------------------------------------------------------*/
#include "dataio.h"
/*----------------------------------------------------------------------------*/
#define PINTCANID 0x020b // PINT CAN ID号
#define Preheater 0x020d // 预热器 CAN ID号
/*----------------------------------------------------------------------------*/
#define write_para_dsp0_addr 0x3f00
#define read_para_dsp0_addr 0x3f80
/*----------------------------------------------------------------------------*/
/* 全局通信出错计数器定义 */
typedef struct
{
U16 LCD;
U16 CAN;
U16 PROFIBUS;
U16 PC;
U16 DSP;
} Global_Error_Num;
/*----------------------------------------------------------------------------*/
#define READ_IN_CMD (U16)10 //读命令+字偏移+字长度
#define READ_OUT_CMD (U16)20 //读命令+字偏移+字长度
//读回发==读命令+字偏移+字长度+[D1(高8位)+D2(低8位)]+...+[Dn-1+Dn]
//写命令+字偏移+字长度+[D1(高8位)+D2(低8位)]+...+[Dn-1+Dn]
#define WRITE_IN_CMD (U16)30
#define XREAD_CMD (U16)40 //组读命令+组号
#define XWRITE_CMD (U16)50 //组存命令+组号
/*----------------------------------------------------------------------------*/
/* 全局通信处理状态定义(0..15) */
#define LENGTH 0//处理长度
#define DATA 1//处理数据
#define PARITY 2//处理奇偶检验
/*----------------------------------------------------------------------------*/
typedef struct
{
U16 LCD :4;
U16 CAN :4;
U16 PROFIBUS :4;
U16 PC :4;
} Global_State;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* 全局通信控制变量定义 */
typedef struct
{
U16 LCD_ENABLE :1;//1=>ENABLE
U16 PC_ENABLE :1;
U16 CAN_ENABLE :1;
U16 PROFIBUS_ENABLE :1;
U16 AD_ENABLE :1;
U16 SPEEDIN_ENABLE :1;
U16 DSP0_ENABLE :1;
} Global_Control;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
typedef struct
{
U16 HOUR;
U16 MIN;
U16 SEC;
} Global_Real_Timer;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* 全局通信请求变量定义 */
typedef struct
{
U16 LCD_ASK :1;//1=>有请求
U16 PC_ASK :1;
U16 CAN_ASK :1;
U16 PROFIBUS_ASK:1;
} Global_Ask;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* 全局通信请求缓冲定义 */
typedef struct
{
U16 LCD[100];/* 低8位有效,len + d1...dn */
U16 PC[100];/* 低8位有效 */
U16 CAN[100];/* 高位在前 */
U16 PROFIBUS[100];/* 低8位有效 */
} Global_Ask_Buff;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
/* CAN 2.0a 数据结构定义 */
typedef struct
{
U16 ID;
U16 LEN;
U16 BUF[4];//4*16 = 8*8,高位在前
} CAN_BUF;
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/
typedef struct
{
U16 timer_10ms_num;
U16 SPEEDNUM;
U16 ADCNUM;
Global_Error_Num GEN; /* 全局通信出错计数器定义 */
Global_State GS; /* 全局通信处理状态变量定义 */
Global_Control GC; /* 全局通信控制变量定义 */
Global_Real_Timer GRT; /* 实时时钟 */
Global_Ask GA; /* 全局通信请求变量定义 */
Global_Ask_Buff GAB; /* 全局通信请求缓冲定义 */
CAN_BUF cantxbuf;
CAN_BUF canrxbuf;
DSP0IN dsp0in;
DSP0OUT dsp0out;
} Global_VAR;/* 其他全局变量 */
/*----------------------------------------------------------------------------*/
extern Global_VAR GVAR;
/*----------------------------------------------------------------------------*/
#endif
/*----------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -