User Manual of EM730 Series Inverter (5) If the LSB is 0, each bit of the CRC register is shifted to the right by one bit, and the most significant bit is supplemented by 0. (6) Repeat the steps 3, 4, and 5 until 8 shifts are completed. (7) Repeat the steps 2, 3, 4, 5 and 6 to process next byte of the transmitted message, until all bytes of the transmitted message are processed. (8) After the calculation, the content of the CRC register is the value of CRC check. (9) In a system with limited time resources, it is recommended to perform CRC check by the table lookup method. The simple function of CRC is as follows (programmed in C language):
unsigned int CRC_Cal_Value(unsigned char *Data, unsigned char Length) { unsigned int crc_value = 0xFFFF; int i = 0; while(Length--) { crc_value ^= *Data++; for(i=0;i { if(crc_value & 0x0001) { crc_value = (crc_value>>1)^ 0xa001; } else { crc_value = crc_value>>1; } } } return(crc_value); } This only describes the theory of CRC check and requires a long execution time. Especially 385