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

📄 serial.st

📁 moudbus通讯协议, moudbus通讯协议, moudbus通讯协议,
💻 ST
字号:
#include "..\Header Files\Serial.h"
#include <.\Loader\Code\RTOS_PRIVDefs.H>
#include <.\Loader\Code\RTOS_Scan.h>
#define OBJECTS_CONFIG


FUNCTION Serial::@STD
VAR_OUTPUT
	ret_code		: CONFSTATES;
END_VAR
VAR
	CmdTable	: CMDMETH;
END_VAR

	//Command Methods
	InitCmdTable (nCmd := nSTDCMD + USER_CNT_Serial, pCmd := #CmdTable);

	CmdTable.Read		:=#Read();
	CmdTable.Write		:=#Write();

	Object_Server.pMeth		:= StoreCmd (pCmd := #CmdTable, SHARED);

	IF Object_Server.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	Bufflength.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Bufflength.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	ComNr.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF ComNr.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	Baudrate.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF Baudrate.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	wordlength.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF wordlength.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	SerParity.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF SerParity.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;

	StopBit.pMeth			:= StoreMethod( #M_RD_DIRECT(), #M_WR_DIRECT() );
	IF StopBit.pMeth THEN
		ret_code	:= C_OK;
	ELSE
		ret_code	:= C_OUTOF_NEAR;
		return;
	END_IF;
	ret_code			:= Serial();

END_FUNCTION //Serial::@STD


FUNCTION GLOBAL TAB Serial::@CT_0102
CG_SERIAL, TY_SERIAL,
NOBASECLS_GUID,
(SIZEOF(::Serial))$UINT, 8, 0, 0$UINT,
(::Serial.Object_Server.pMeth)$UINT, _CH_CMD $USINT, "Object_Server",
(::Serial.Bufflength.pMeth)$UINT, _CH_SVR $USINT, "Bufflength",
(::Serial.Error_S.pMeth)$UINT, _CH_SVR $USINT, "Error_S",
(::Serial.ComNr.pMeth)$UINT, _CH_SVR $USINT, "ComNr",
(::Serial.Baudrate.pMeth)$UINT, _CH_SVR $USINT, "Baudrate",
(::Serial.wordlength.pMeth)$UINT, _CH_SVR $USINT, "wordlength",
(::Serial.SerParity.pMeth)$UINT, _CH_SVR $USINT, "SerParity",
(::Serial.StopBit.pMeth)$UINT, _CH_SVR $USINT, "StopBit",
6 $UINT,
(::Serial.Bufflength.dData)$UINT, (SIZEOF(::Serial.Bufflength.
dData))$UINT,
(::Serial.ComNr.dData)$UINT, (SIZEOF(::Serial.ComNr.
dData))$UINT,
(::Serial.Baudrate.dData)$UINT, (SIZEOF(::Serial.Baudrate.
dData))$UINT,
(::Serial.wordlength.dData)$UINT, (SIZEOF(::Serial.wordlength.
dData))$UINT,
(::Serial.SerParity.dData)$UINT, (SIZEOF(::Serial.SerParity.
dData))$UINT,
(::Serial.StopBit.dData)$UINT, (SIZEOF(::Serial.StopBit.
dData))$UINT,
0$UINT
END_FUNCTION

⌨️ 快捷键说明

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