EasyManuals Logo

hpmont HD5L series User Manual

hpmont HD5L series
155 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #149 background imageLoading...
Page #149 background image
Appendix B Communication Protocol Shenzhen Hpmont Technology Co., Ltd
140 HD5L Series Controller 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 look up 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

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the hpmont HD5L series and is the answer not in the manual?

hpmont HD5L series Specifications

General IconGeneral
Brandhpmont
ModelHD5L series
CategoryController
LanguageEnglish

Related product manuals