```c
//检验数据
static int NZ_CheckFrameData(const unsigned char *pBuf,int nLen)
{
PCDZDATAFRAME pCDZDF = (PCDZDATAFRAME)pBuf;
int nRet=0;
unsigned int nCSLen, nChkSum = 0, i;
unsigned char *pChkDat = (unsigned char *)pBuf;//校验和域: :采用累计和计算校验值,并取校验和的低 8 位,计算范围包含从命令代码和 数据域
if (!pBuf)
{
return 0;
}
nCSLen = pCDZDF->fLen + 2 - 4;
for (i = 0; i < nCSLen; i++)
{
nChkSum += pChkDat[i];
}
if(!memcmp(&pBuf[nLen-4], &nChkSum, sizeof(nChkSum)))
{
nRet=1;
}
return nRet;
}
```