W ORD CR C 16 (CON ST BY TE * n Data , W ORD w L eng th)
{
static const WORD wCRCTable
0 X 00 00, 0 X C 0 C 1, 0 X C 18 1, 0 X 0 14 0, 0 X C 30 1, 0 X 03 C 0, 0 X 0 28 0, 0 X C 24 1,
0 X C 60 1, 0 X 06 C 0, 0 X 0 78 0, 0 X C 74 1, 0 X 0 500 , 0 X C 5 C 1, 0 X C 48 1, 0 X 0 44 0,
0 X CC 0 1, 0 X 0 CC 0, 0 X 0 D 80, 0 X CD 41, 0 X 0 F 00 , 0 X C FC 1, 0 X CE 8 1, 0 X 0 E 40,
0 X 0 A 00 , 0 X C A C 1, 0 X CB 8 1, 0 X 0 B 40, 0 X C 90 1, 0 X 09 C 0, 0 X 08 80 0 X C 84 1,
0 X D 80 1, 0 X 18 C 0, 0 X 1980, 0 X D 94 1, 0 X 1 B 00 , 0 X D BC 1, 0 X DA 8 1, 0 X 1 A 40
0 X 1 E 00 , 0 X D EC 1, 0 X DF 8 1, 0 X 1 F 40, 0 X DD 0 1, 0 X 1 DC 0, 0 X 1 C 80, 0 X DC 41,
0 X 14 00, 0 X D 4 C 1, 0 X D 58 1, 0 X 154 0, 0 X D 70 1, 0 X 17 C 0, 0 X 16 80 0 X D 64 1,
0 X D 201 , 0 X 12 C 0, 0 X 138 0, 0 X D 34 1, 0 X 11 00, 0 X D 1 C 1, 0 X D 08 1, 0 X 104 0,
0 X F 00 1, 0 X 30 C 0, 0 X 31 80 0 X F 14 1, 0 X 33 00, 0 X F 3 C 1, 0 X F 28 1, 0 X 32 40
0 X 36 00, 0 X F 6 C 1, 0 X F 78 1, 0 X 37 4 0, 0 X F 50 1, 0 X 35 C 0, 0 X 34 8 0, 0 X F 44 1,
0 X 3 C 00 , 0 X F CC 1, 0 X F D 8 1, 0 X 3 D 40, 0 X FF 0 1, 0 X 3 FC 0, 0 X 3 E 80, 0 X FE 41,
0 X FA 0 1, 0 X 3 AC 0, 0 X 3 B 80, 0 X F B 41, 0 X 39 00, 0 X F 9 C 1, 0 X F 88 1, 0 X 38 4 0,
0 X 28 00, 0 X E 8 C 1, 0 X E 98 1, 0 X 29 4 0, 0 X EB 0 1, 0 X 2 BC 0, 0 X 2 A 80, 0 X EA 41
0 X EE 0 1, 0 X 2 EC 0, 0 X 2 F 80, 0 X EF 41, 0 X 2 D 00 , 0 X ED C 1, 0 X EC 8 1, 0 X 2 C 40,
0 X E 40 1, 0 X 24 C 0, 0 X 25 8 0, 0 X E 54 1, 0 X 27 00, 0 X E 7 C 1, 0 X E 68 1, 0 X 26 4 0,
0 X 22 00, 0 X E 2 C 1, 0 X E 38 1, 0 X 23 4 0, 0 X E 10 1, 0 X 21 C 0, 0 X 208 0, 0 X E 0 41
0 X A 00 1, 0 X 60 C 0, 0 X 6 18 0, 0 X A 14 1, 0 X 63 00 0 X A 3 C 1, 0 X A 28 1, 0 X 62 40
0 X 66 00, 0 X A 6 C 1, 0 X A 78 1, 0 X 67 4 0, 0 X A 50 1, 0 X 65 C 0, 0 X 64 8 0, 0 X A 44 1,
0 X 6 C 00 , 0 X AC C 1, 0 X AD 8 1, 0 X 6 D 40, 0 X AF 0 1, 0 X 6 FC 0, 0 X 6 E 80, 0 X AE 41,
0 X AA 0 1, 0 X 6 A 0, 0 X 6 B 80, 0 X AB 41, 0 X 69 00, 0 X A 9 C 1, 0 X A 88 1, 0 X 68 40
0 X 78 00, 0 X B 8 C 1, 0 X B 98 1, 0 X 79 4 0, 0 X BB 0 1, 0 X 7 BC 0, 0 X 7 A 80, 0 X BA 41
0 X BE 0 1, 0 X 7 EC 0, 0 X 7 F 80, 0 X B F 41, 0 X 7 D 00 , 0 X B DC 1, 0 X BC 8 1, 0 X 7 C 40,
0 X B 40 1, 0 X 74 C 0, 0 X 75 8 0, 0 X B 54 1, 0 X 77 00, 0 X B 7 C 1, 0 X B 68 1, 0 X 76 40
0 X 7 200 , 0 X B 2 C 1, 0 X B 38 1, 0 X 73 4 0, 0 X B 10 1, 0 X 71 C 0, 0 X 70 8 0, 0 X B 04 1,
0 X 5000 , 0 X 90 C 1, 0 X 9 18 1, 0 X 5 14 0, 0 X 9 30 1, 0 X 53 C 0, 0 X 5 28 0, 0 X 9 24 1, 0 X 9 24 1,
0 X 9 60 1, 0 X 56 C 0, 0 X 57 8 0, 0 X 97 4 1, 0 X 5 500 , 0 X 95 C 1, 0 X 9 48 1, 0 X 54 40
0 X 9 C 0 1, 0 X 5 C 0, 0 X 5 D 80, 0 X 9 D 41, 0 X 5 F 00 , 0 X 9 FC 1, 0 X 9 E 8 1, 0 X 5 E 40,
0 X 5 A 00 , 0 X 9 AC 1, 0 X 9 B 8 1, 0 X 5 B 40, 0 X 9 90 1, 0 X 59 C 0, 0 X 58 8 0, 0 X 98 41
0 X 8 80 1, 0 X 48 C 0, 0 X 49 8 0, 0 X 89 4 1, 0 X 4 B 00 , 0 X 8 BC 1, 0 X 8 A 8 1, 0 X 4 A 40,
0 X 4 E 00 , 0 X 8 EC 1, 0 X 8 F 8 1, 0 X 4 F 40, 0 X 8 D 0 1, 0 X 4 DC 0, 0 X 4 C 80, 0 X 8 C 41,
0 X 44 00, 0 X 84 C 1, 0 X 85 8 1, 0 X 45 4 0, 0 X 8 70 1, 0 X 47 C 0, 0 X 46 8 0, 0 X 86 4 1,
0 X 8 201 , 0 X 42 C 0, 0 X 43 8 0, 0 X 8 34 1, 0 X 4 100 , 0 X 81 C 1, 0 X 80 8 1, 0 X 40 40 } ;
바 이트 n T emp ;
W ORD w CR C W ord = 0 x FF FF ;
while (w L eng th - -)
{
n T emp = * n Data ++ ^ w CR C W ord ;
w CR C W ord >> = 8;
wCRCWord ^= wCRCTable
}
w CR C W ord 를 반환 합니다 .
}
MODBUS - CRC 16 유효성 C 언어 함수 예제
freeFree Technical Resource
This content is free to read, suitable for basic learning and search traffic.
Leave a Reply