EasyManua.ls Logo

hpmont HD20 Series - Page 177

hpmont HD20 Series
183 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Appendix B Communication Protocol Shenzhen Hpmont Technology Co., Ltd
162 HD20 Series Inverters User Manual
9. CRC checking
In order to satisfy speed increase needs, CRC-16 normally adopts form mode. The following is
CRC-16 C language channel code. Please note the final result has exchanged the higher and
lower bytes. That is the right CRC checksum to be sent.
unsigned short CRC16 ( unsigned char *msg, unsigned char length)
/* The function returns the CRC as a unsigned short type */
{
/* high byte of CRC initialized */
unsigned char uchCRCHi = 0xFF ;
/* low byte of CRC initialized */
unsigned char uchCRCLo = 0xFF ;
/* index into CRC lookup table */
unsigned uIndex ;
/* pass through message buffer */
While (length--)
{
/* calculate the CRC */
uIndex = uchCRCLo ^ *msg++ ;
uchCRCLo = uchCRCHi ^ (crcvalue[uIndex] >>8);
uchCRCHi =crcvalue[uIndex]&0xff;
}
return (uchCRCHi | uchCRCLo<<8) ;
}
/* Table of CRC values */
const unsigned int crcvalue[ ] = {
0x0000,0xC1C0,0x81C1,0x4001,0x01C3,0xC003,0x8002,0x41C2,0x01C6,0xC006,0x8007,
0x41C7,0x0005,0xC1C5,0x81C4,0x4004,0x01CC,0xC00C,0x800D,0x41CD,0x000F,0xC1CF,
0x81CE,0x400E,0x000A,0xC1CA,0x81CB,0x400B,0x01C9,0xC009,0x8008,0x41C8,0x01D8,
0xC018,0x8019,0x41D9,0x001B,0xC1DB,0x81DA,0x401A,0x001E,0xC1DE,0x81DF,0x401F,
0x01DD,0xC01D,0x801C,0x41DC,0x0014,0xC1D4,0x81D5,0x4015,0x01D7,0xC017,0x8016,
0x41D6,0x01D2,0xC012,0x8013,0x41D3,0x0011,0xC1D1,0x81D0,0x4010,0x01F0,0xC030,
0x8031,0x41F1,0x0033,0xC1F3,0x81F2,0x4032,0x0036,0xC1F6,0x81F7,0x4037,0x01F5,
0xC035,0x8034,0x41F4,0x003C,0xC1FC,0x81FD,0x403D,0x01FF,0xC03F,0x803E,0x41FE,
0x01FA,0xC03A,0x803B,0x41FB,0x0039,0xC1F9,0x81F8,0x4038,0x0028,0xC1E8,0x81E9,
0x4029,0x01EB,0xC02B,0x802A,0x41EA,0x01EE,0xC02E,0x802F,0x41EF,0x002D,0xC1ED,
0x81EC,0x402C,0x01E4,0xC024,0x8025,0x41E5,0x0027,0xC1E7,0x81E6,0x4026,0x0022,
0xC1E2,0x81E3,0x4023,0x01E1,0xC021,0x8020,0x41E0,0x01A0,0xC060,0x8061,0x41A1,
0x0063,0xC1A3,0x81A2,0x4062,0x0066,0xC1A6,0x81A7,0x4067,0x01A5,0xC065,0x8064,
0x41A4,0x006C,0xC1AC,0x81AD,0x406D,0x01AF,0xC06F,0x806E,0x41AE,0x01AA,0xC06A,
0x806B,0x41AB,0x0069,0xC1A9,0x81A8,0x4068,0x0078,0xC1B8,0x81B9,0x4079,0x01BB,

Table of Contents

Related product manuals