EasyManua.ls Logo

CUTES CT-2000FG Series - Page 78

CUTES CT-2000FG Series
103 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
Loading...
78
13. MODBUS communication
CRC Generation (continued):
Pseudo code for generating a CRC-16:
CONST ARRAY BUFFER /* data,ex: 11h, 03h, 00h,6bh,00h,02h */
CONST WORD POLYNOMIAL = 0a001h /* X16 = X15 + X2 + X1 */
/* SUBROTINUE OF CRC CACULATE START */
CRC_CAL(LENGTH)
VAR INTEGER LENGTH;
{
VAR WORD CRC16 = 0FFFFH ; /* CRC16 initialize */
VAR INTEGER = I,j; /* LOOP COUNTER */
VAR BYTE DATA; /* DATA BUFFER */
FOR (I=1;I=LENGTH;I++) /* BYTE LOOP */
{
DATA == BUFFER[I];
CRC16 == CRC16 XOR DATA;
FOR (J=1;J=8;J++) /* BIT LOOP */
{
IF ((DATA XOR CRC16) AND 0001H) = 1 THEN
CRC16 = (CRC16 SHR 1) XOR POLYNOMIAL;
ELSE
CRC16 == CRC16 SHR 1;
DATA == DATA SHR 1;
};
};
};

Table of Contents

Related product manuals