1
/**//**************************************************************************
2
功能 : CRC校驗計算
3
輸入?yún)?shù) : unsigned char *ptr--需要校驗的數(shù)據(jù)
5
輸出參數(shù) : unsigned char len--校驗數(shù)據(jù)長度
7
返回值 :校驗值
8
**************************************************************************/
9
unsigned int CGlobalData::Cal_CRC(unsigned char *ptr, unsigned char len)
10

{
11
unsigned char i;
12
unsigned int crc=0;
13
while(len--!=0)
14
{
15
for(i=0x80; i!=0; i/=2)
16
{
17
if((crc&0x8000)!=0)
18
{
19
crc*=2;
20
crc^=0x18005;
21
}
22
else
23
{
24
crc*=2;
25
}
26
27
if((*ptr&i)!=0)
28
{
29
crc^=0x18005;
30
}
31
}
32
ptr++;
33
}
34
return(crc); //返回值后十六位為校驗值
35
}


2

3

5

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
