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

📄 ex.h

📁 TIDSP2407的CAN总线例程
💻 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 + -