📄 mbframe.h
字号:
/* * FreeModbus Libary: A portable Modbus implementation for Modbus ASCII/RTU. * Copyright (C) 2006 Christian Walter <wolti@sil.at> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * File: $Id: mbframe.h,v 1.8 2006/06/25 00:12:28 wolti Exp $ */#ifndef _MB_FRAME_H#define _MB_FRAME_H#ifdef __cplusplusPR_BEGIN_EXTERN_C#endif/*! * Constants which defines the format of a modbus frame. The example is * shown for a Modbus RTU/ASCII frame. Note that the Modbus PDU is not * dependent on the underlying transport. * * <code> * <------------------------ MODBUS SERIAL LINE PDU (1) -------------------> * <----------- MODBUS PDU (1') ----------------> * +-----------+---------------+----------------------------+-------------+ * | Address | Function Code | Data | CRC/LRC | * +-----------+---------------+----------------------------+-------------+ * | | | | * (2) (3/2') (3') (4) * * (1) ... MB_SER_PDU_SIZE_MAX = 256 * (2) ... MB_SER_PDU_ADDR_OFF = 0 * (3) ... MB_SER_PDU_PDU_OFF = 1 * (4) ... MB_SER_PDU_SIZE_CRC = 2 * * (1') ... MB_PDU_SIZE_MAX = 253 * (2') ... MB_PDU_FUNC_OFF = 0 * (3') ... MB_PDU_DATA_OFF = 1 * </code> *//* ----------------------- Defines ------------------------------------------*/#define MB_PDU_SIZE_MAX 253 /*!< Maximum size of a PDU. */#define MB_PDU_SIZE_MIN 1 /*!< Function Code */#define MB_PDU_FUNC_OFF 0 /*!< Offset of function code in PDU. */#define MB_PDU_DATA_OFF 1 /*!< Offset for response data in PDU. *//* ----------------------- Prototypes 0-------------------------------------*/typedef void ( *pvMBFrameStart ) ( void );typedef void ( *pvMBFrameStop ) ( void );typedef eMBErrorCode( *peMBFrameReceive ) ( UCHAR * pucRcvAddress, UCHAR ** pucFrame, USHORT * pusLength );typedef eMBErrorCode( *peMBFrameSend ) ( UCHAR slaveAddress, const UCHAR * pucFrame, USHORT usLength );typedef void( *pvMBFrameClose ) ( void );#ifdef __cplusplusPR_END_EXTERN_C#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -