A SERVICE OF

logo

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;
}