meter.c
来自「本人设计的DL/T645规约电能表的抄表和电表模拟软件」· C语言 代码 · 共 45 行
C
45 行
#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 + =
减小字号Ctrl + -
显示快捷键?