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

📄 modbus.h

📁 基于DSP 2812的电动机控制 使用语言为C
💻 H
字号:
/*================================================================================
function prototypes for the communication.

=====================================================================================
 History:
-------------------------------------------------------------------------------------
 03-16-2005		Release	Rev 1.0                                                   
------------------------------------------------------------------------------*/
#ifndef __Modbus_H__
#define __Modbus_H__


#define DELAYCOUNT 23	//4.5ms = 23*200us
#define PARANUMMAX 40	//数据缓存的最大个数,防止溢出
#define PARAMETER_MAX_NUMBER 40  //StatusInfo个数,防止溢出
#define MENU_MAX_NUMBER 69  	//StatusInfo个数,防止溢出,用于翻页

#define MENU_MAX_NUMBER_TBLA 86	//485参数表参数个数


typedef struct {
		 	  	Uint16		  	CommFlag;			    	//状态标识
		     	Uint16    	  	CommCount;					//延时计数
	 	      	int 	  	  	ParaNum;					//菜单页编号
	          	int				FaultNum;					//故障编号
	          	Uint16 	  		Slave_Address;          	//从机地址
		      	Uint16			Index;						//参数地址	
	          	Uint16		  	CommData[PARANUMMAX];		//数据缓存
		      	void            (*Comm)();					//通讯主函数
	          	void			(*InitSciPort)();			//初始化函数
	       } MODBUS;	            
typedef MODBUS *Modbus_handle;

/*------------------------------------------------------------------------------
datatab used in Modbus.C,define in para_tab.asm
------------------------------------------------------------------------------*/
extern int Para_Tab[][16];								//参数页信息表
extern int ParaTblA[][16];
extern int Fault_Tab[][9];                     			//故障页信息表
extern int FaultTabA[][9];                     			//故障页信息表
       
extern int auchCRCHi[];				//crc
     
extern int auchCRCLo[];				//crc

extern long  	StatusInfo[];

extern long 	MenuInfo[];
extern long 	MenuInfo1[];
extern long 	MenuInfo2[];
extern long 	MenuInfo10[];
extern long 	MenuInfo11[];
extern long 	MenuInfo12[];
extern long 	MenuInfo20[];
extern long 	MenuInfo21[];
extern long 	MenuInfo22[];
extern long 	MenuInfo23[];
extern long 	MenuInfo24[];
extern long 	MenuInfo25[];
extern long 	MenuInfo90[];
extern long 	MenuInfo91[];

//故障代码地址 
                    
/*-----------------------------------------------------------------------------
Default initalizer for the Modbus object.
-----------------------------------------------------------------------------*/                     
#define ModbusA_DEFAULTS {0,\
                          0,\
                          0,\
                          0,\
                          0x02,\
                          0,\
                          {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
                           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},\
              		  (void (*)(Uint32))CommA,\
              		  (void (*)(Uint32))InitSciAPort,\
              		  } 
#define ModbusB_DEFAULTS { 0,\
                          0,\
                          0,\
                          0,\
                          0,\
                          0,\
                          {0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\
                           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},\
              		  (void (*)(Uint32))CommB,\
              		  (void (*)(Uint32))InitSciBPort,\
              		  }               		  
/*------------------------------------------------------------------------------
Prototypes for the functions in Modbus.C
------------------------------------------------------------------------------*/
void CommA(Modbus_handle);
void CommB(Modbus_handle);
void InitSciAPort();
void InitSciBPort();
Uint16 CRC_cal(Uint16 *puchMsg,Uint16 usDataLen);

//extern volatile struct TABLE Table;                                          
#endif // __Modbus_H_  

⌨️ 快捷键说明

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