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

📄 modbus.h

📁 基于2812dsp/BOIS实时操作系统,通用软件平台
💻 H
字号:
/* =================================================================================
File name:       Modbus.H (28x version)                    
                    
Originator:	R&D Group
		NIE 

Description: 
Header file containing constants, data type definitions, and 
function prototypes for the communication.

=====================================================================================
 History:
-------------------------------------------------------------------------------------
 03-16-2005		Release	Rev 1.0                                                   
------------------------------------------------------------------------------*/
#ifndef __Modbus_H__
#define __Modbus_H__
//#include "DSP281x_Device.h"

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

#ifdef __cplusplus
extern "C" {
#endif


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

                    
/*-----------------------------------------------------------------------------
Default initalizer for the Modbus object.
-----------------------------------------------------------------------------*/                     

void Read_Data_sciA(Modbus_handle);
void Processing_Data_sciA(Modbus_handle);
void Send_Data_sciA(Modbus_handle);
void SEND_intA(Modbus_handle);
void InitSciPortA();

#define ModbusA_DEFAULTS { 1,\
                          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))Read_Data_sciA,\
					  (void (*)(Uint32))Processing_Data_sciA,\
					  (void (*)(Uint32))Send_Data_sciA,\
					  (void (*)(Uint32))SEND_intA,\
             		  (void (*)(Uint32))InitSciPortA,\
					  } 


void Read_Data_sciB(Modbus_handle);
void Processing_Data_sciB(Modbus_handle);
void Send_Data_sciB(Modbus_handle);
void SEND_intB(Modbus_handle);
void InitSciPortB();

#define ModbusB_DEFAULTS { 1,\
                          0,\
                          38,\
                          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))Read_Data_sciB,\
					  (void (*)(Uint32))Processing_Data_sciB,\
					  (void (*)(Uint32))Send_Data_sciB,\
					  (void (*)(Uint32))SEND_intB,\
             		  (void (*)(Uint32))InitSciPortB,\
              		  } 
              		  
/*------------------------------------------------------------------------------
Prototypes for the functions in Modbus.C
------------------------------------------------------------------------------*/
//void Comm(Modbus_handle);







Uint16 CRC_cal(Uint16 *puchMsg,Uint16 usDataLen);

/*------------------------------------------------------------------------------
datatab used in Modbus.C,define in para_tab.asm
------------------------------------------------------------------------------*/
extern int Para_Tab[][16];								//参数页信息表

extern int Fault_Tab[][9];                     			//故障页信息表
       
extern int auchCRCHi[];				//crc
     
extern int auchCRCLo[];				//crc

extern long  	StatusInfo[];

extern long 	MenuInfo[];

//故障代码地址 


#ifdef __cplusplus
}
#endif /* extern "C" */


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


/*

typedef struct {
		 	  	Uint16		  	CommFlag;			    	//状态标识
		     	Uint16    	  	CommCount;					//延时计数
	 	      	int16	  	  	ParaNum;					//菜单页编号
	          	int16			FaultNum;					//故障编号
	          	Uint16 	  		Slave_Address;          	//从机地址
		      	Uint16			Index;						//参数地址	
	          	Uint16		  	CommData[PARANUMMAX];		//数据缓存
	          	void			(*Read_Data_sciA)();
				void			(*Processing_Data_sciA)();
				void			(*Send_Data_sciA)();
	          	void			(*InitSciPortA)();			//初始化函数
				void			(*SEND_intA)();
	       }MODBUSA;
	       	            
typedef MODBUSA *ModbusA_handle;

*/

⌨️ 快捷键说明

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