JZsdk_FrameComParsion.c
1.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <stdio.h>
#include "./JZsdk_FrameComparsion.h"
#include "../JZsdk_Code/JZsdk_Code.h"
/*************************
*
* 获取帧的序列号
*
* ***************************/
int JZsdk_Get_FrameSequence(char *DealBuf)
{
return DealBuf[6];
}
/*************************
*
* 获取帧的长度
*
* ***************************/
int JZsdk_Get_FrameLength(char *DealBuf)
{
return ((int)DealBuf[3]) << 8 + DealBuf[4];
}
/***************************
* 、
*
* 帧校对 获取功能
*
*
* ***********************/
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);
}
printf("接受到的帧,没有帧头或者帧尾,退出recv帧判断函数\n");
return JZ_ERROR_SYSTEM_FRAME_ERROR;
}