📄 fmbus.h
字号:
/*#########################################################################
Copyright (c) 2005,
All rights reserved.
File name : fpubdef.h
Description :公共定义
Version :1.00
Author :
Complete Date :2006-06-05
Function List :
History :
_________________________________________________________________________
DATE AUTHOR VERSION DESCRIBE
-------------------------------------------------------------------------
2005-06-05 zlz Ver1.00 Create
#########################################################################*/
#include "fpubdef.h"
#include "crclrc.h"
#ifndef __F_MODBUS_H__
#define __F_MODBUS_H__
#define CHECKFAIL 101
#define CHECKSUCCESS 100
#define ASCII 1001
#define RTU 1002
/*--------------------------- requery frame ----------------------------*/
#define FMB_MAX_BUF_SIZE 512
typedef BYTE FMBIOBUF[FMB_MAX_BUF_SIZE];
/*Set*/
VOID FmbReqSetAdr ( BYTE *pfmbreq, BYTE aAdr );
VOID FmbReqSetFun ( BYTE *pfmbreq, BYTE aFun );
VOID FmbReqSetR1 ( BYTE *pfmbreq, INT16 aReg1 );
VOID FmbReqSetRN ( BYTE *pfmbreq, INT16 aRegNum);
VOID FmbReqSetCRC ( BYTE *pfmbreq);
VOID FmbReqSetLRC ( BYTE *pfmbreq);
BYTE * FmbReqMakeBuffer ( BYTE *pfmbreq, REGINT aTagMode );/* FMB_TAG_ASC, FMB_TAG_RTU */
/*Get*/
BYTE FmbReqGetAdr ( BYTE *pfmbreq );
BYTE FmbReqGetFun ( BYTE *pfmbreq );
UINT16 FmbReqGetR1 ( BYTE *pfmbreq );
UINT16 FmbReqGetRN ( BYTE *pfmbreq );
UINT16 FmbReqGetCRC ( BYTE *pfmbreq );
BYTE FmbReqGetLRC ( BYTE *pfmbreq );
Boolean FmbReqParseBuffer ( BYTE *pfmbreq, REGINT aTagMode );
/*--------------------------- response frame ----------------------------*/
#define FMB_MAX_INT_NUM 512
/*Set*/
VOID FmbRspSetAdr ( BYTE *pfmbrsp, BYTE aAdr );
VOID FmbRspSetFun ( BYTE *pfmbrsp, BYTE aFun );
VOID FmbRspSetDataNum ( BYTE *pfmbrsp, BYTE DataNum );
VOID FmbRspSetData ( BYTE *pfmbrsp, REGINT aIdx, UINT16 aData );
VOID FmbRspSetCRC ( BYTE *pfmbrsp);
VOID FmbRspSetLRC ( BYTE *pfmbrsp);
BYTE* FmbRspMakeBuffer ( BYTE *pfmbrsp, REGINT aTagMode );
/*Get*/
REGINT FmbRspGetLength ( BYTE *pfmbrsp );
BYTE FmbRspGetAdr ( BYTE *pfmbrsp );
BYTE FmbRspGetFun ( BYTE *pfmbrsp );
REGINT FmbRspGetByteNum ( BYTE *pfmbrsp );
UINT16 FmbRspGetData ( BYTE *pfmbreq, REGINT aIdx );
UINT16 FmbRspGetCRC ( BYTE *pfmbreq );
BYTE FmbRspGetLRC ( BYTE *pfmbreq );
Boolean FmbRspParseBuffer ( BYTE *pfmbreq, REGINT aTagMode );
/*----------------------- FMBEVENT frame -----------------------------------------*/
/*typedef struct tag_FMBEVENT
{
REGINT TagMode;/* FMB_TAG_ASC, FMB_TAG_RTU */
/*FMBREQ REQ;
FMBRSP RSP;
} FMBEVENT;
VOID FmbReqInterpreterAsc ( FMBREQ *pfmbreq);
VOID FmbReqInterpreterRTU ( FMBREQ *pfmbreq);
VOID FmbRspInterpreterAsc ( FMBRSP *pfmbrsp);
VOID FmbRspInterpreterRTU ( FMBRSP *pfmbrsp);*/
#define FMODBUS_ADR 0
#define FMODBUS_FUN 1
#define FMODBUS_RSP_DATA_NUM 3
#define FMODBUS_RSP_DATA_BASE 5
#define FMODBUS_ASK_REG_ADR 2
#define FMODBUS_ASK_REG_NUM 4
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -