Delta Electronics AC Motor Drive VFD-G User Manual
Page 131

Chapter 4 Parameters|
4-80
Revision July 2008, EG03, SW V1.06
Command message:
ADR 01H
CMD 03H
02H
Data starting address
02H
00H
Number of data
(word)
02H
CRC CHK Low
6FH
CRC CHK High
F7H
The following is an example of CRC generation using C language. The function takes two
arguments:
Unsigned char* data Å a pointer to the message buffer
Unsigned char length Å the quantity of bytes in the message buffer
The function returns the CRC values as a type of unsigned integer.
unsigned int crc_chk(unsigned char* data, unsigned char length){
int j;
unsigned int reg_crc=0xFFFF;
while(length--){
reg_crc ^= *data++;
for(j=0;j<8;j++){
if(reg_crc & 0x01){ /* LSB(b0)=1 */
reg_crc=(reg_crc>>1) ^ 0xA001;
}else{
reg_crc=reg_crc >>1;
}
}
}
return reg_crc;
}