JZsdk_FrameComParsion.c 1.5 KB
#include <stdio.h>
#include "./JZsdk_FrameComparsion.h"
#include "../JZsdk_Code/JZsdk_Code.h"

/*************************
 * 
 *  获取帧的序列号
 * 
 * ***************************/
int JZsdk_Get_FrameSequence(char *DealBuf)
{
    return DealBuf[6];
}

/***************************
 * 、
 * 
 *  帧校对 获取功能
 * 
 * 
 * ***********************/
int JZsdk_FrameComparsion(char *getdata, int len)
{
    //1、判断是否是5A帧
	if (getdata[0] == 0x5A && getdata[1] == 0x5A && getdata[2] == 0x77)
	{
		printf("JZsdk_FrameComparsion:5A帧\n");
		return JZsdk_5AFrameComparsion(getdata, len);
	}

	//2、判断是否是5B帧
	if (getdata[0] == 0x5b && getdata[1] == 0x5b && getdata[2] == 0x77)
	{
		printf("JZsdk_FrameComparsion:5B帧\n");
		return JZsdk_5BFrameComparsion(getdata, len);
	}

	//3、判断是否是6A帧
	if (getdata[0] == 0x6A && getdata[1] == 0x6A && getdata[2] == 0x77)
	{
		printf("JZsdk_FrameComparsion:6A帧\n");
		return JZsdk_6AFrameComparsion(getdata, len);
	}

	//4、判断是否是6B帧
	if (getdata[0] == 0x6b && getdata[1] == 0x6b && getdata[2] == 0x77)
	{
		printf("JZsdk_FrameComparsion:6B帧\n");
		return JZsdk_6BFrameComparsion(getdata, len);
	}

	//判断帧头帧尾
	if ( 
		( (getdata[0]!= 0x5a) && (getdata[1] != 0x5a) && (getdata[2]!=0x77) ) 
		|| 	( (getdata[len -2]!= 0x00) && (getdata[ len -1] != 0x23) ) 
	)
	{
		printf("接受到的帧,没有帧头或者帧尾,退出recv帧判断函数\n");
		return JZ_ERROR_SYSTEM_FRAME_ERROR;
	}
}