MODBUS - CRC 16 유효성 C 언어 함수 예제

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

MODBUS - CRC 16 유효성 C 언어 함수 예제
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 를 반환 합니다 .

}
Related Tags
Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.