?? mbslave.h
字號:
/****************************************Copyright (c)**************************************************
** 廣州周立功單片機發展有限公司
** 研 究 所
** 產品一部
**
** http://www.zlgmcu.com
**
**--------------文件信息--------------------------------------------------------------------------------
**文 件 名: MBSlave.h
**創 建 人: 周立山
**最后修改日期: 2005年7月29日
**描 述: MODBUS RTU 協議棧
**
**--------------歷史版本信息----------------------------------------------------------------------------
** 創建人: 周立山
** 版 本: 1.0a
** 日 期: 2005年7月29日
** 描 述: 原始版本
**
**------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**--------------當前版本修訂------------------------------------------------------------------------------
** 修改人:
** 日 期:
** 描 述:
**
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __MBSLAVE_H
#define __MBSLAVE_H
#include "modbus.h"
/***************************************************
** 使能MODBUS功能代碼
****************************************************/
#define READ_COILS_EN 0 // 讀線圈
#define READ_DIS_INPUT_EN 0 // 讀離散量輸入
#define READ_HOLD_REG_EN 0 // 讀保持寄存器
#define READ_INPUT_REG_EN 1 // 讀輸入寄存器
#define WRITE_SING_COIL_EN 1 // 寫單個線圈
#define WRITE_SING_REG_EN 0 // 寫單個寄存器
#define WRITE_MULT_COIL_EN 0 // 寫多個線圈
#define WRITE_MULT_REG_EN 0 // 寫多個寄存器
#define MASK_WRITE_REG_EN 0 // 處理屏蔽寄存器指令
#define READ_WRITE_REG_EN 0 // 讀寫多個寄存器
/***************************************************
** 配置線圈的參數。定義線圈的數量
****************************************************/
#define END_COILS_ADDR 8
/***************************************************
** 配置離散輸入的參數。定義離散輸入量的數量
****************************************************/
#define END_DISC_INPUT_ADDR 0
/***************************************************
** 配置輸入寄存器的參數。定義輸入寄存器的數量
****************************************************/
#define END_INPUT_REG_ADDR 2
/***************************************************
** 配置保持寄存器的參數。定義保持寄存器數量
****************************************************/
#define END_HOLDING_REG_ADDR 0
#define MAX_FUNCTION (READ_COILS_EN +\
READ_DIS_INPUT_EN +\
READ_HOLD_REG_EN +\
READ_INPUT_REG_EN +\
WRITE_SING_COIL_EN +\
WRITE_SING_REG_EN +\
WRITE_MULT_COIL_EN +\
WRITE_MULT_REG_EN +\
MASK_WRITE_REG_EN +\
READ_WRITE_REG_EN +\
1)
/* 從機描述 */
typedef struct __SLAVE_INFORMATION{
uint8 Address; // 地址
uint8 LineProtocol; // 鏈路層協議
uint16 BaudRate; // 波特率 = BaudRate * 100
uint8 Parity; // 奇偶校驗
uint8 StopBit; // 停止位
uint8* RequestPtr; // 主機請求從幀指針
}SLAVE_INFORMATION;
// 從機描述信息
extern SLAVE_INFORMATION SlaveDevice;
// 功能代碼結構
typedef struct __FUNCTION_ARRAY{
uint8 Code;
void (*Function)(PDU_RESPONSE *Response);
}FUNCTION_ARRAY;
void MBSlaveIni(SLAVE_INFORMATION *DevicInfPtr);
void IdleModbus(void);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -