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

📄 meter.c

📁 电力行业的DL645采集程序,嵌入式Linux环境
💻 C
字号:

#define ARM_METER_GLOBALS
#include "cfg_ISlave.h"


/*****************************************************************************************
函数名称:      BOOL MeterFilterFrame(INT8U *pbuf)
功能说明:      检查数据包、过滤0x33
输入参数:      
输出参数:      
其它说明:      
*****************************************************************************************/

BOOL MeterFilterFrame(INT8U *pbuf)
{
	MeterFrameType *pMeterFrame;
	INT8U checkSum;
	INT16U frameSize, datalen;	
	INT8U *ptr;

	pMeterFrame = (MeterFrameType *)pbuf;
	if(pMeterFrame->header1 != METER_FRAME_START_CH || pMeterFrame->header2 != METER_FRAME_START_CH)
	{
		return FALSE;
	}
	frameSize = pMeterFrame->datalen + METER_FRAME_EXT_LEN;
	checkSum = mCheckSumByte(pbuf, frameSize-2);
	if(checkSum != pbuf[frameSize-2])
	{
		return FALSE;
	}
	if(pbuf[frameSize-1] != METER_FRAME_END_CH)
	{
		return FALSE;
	}

	ptr = (INT8U *)pMeterFrame->data;
	datalen = pMeterFrame->datalen;
	while(datalen--)
	{
		*ptr -= 0x33;
		ptr++;
	}
	return TRUE;
}

⌨️ 快捷键说明

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