CRC Clarify
CRC Clarify
"
# $$ % &' "
#%$ $ (
)* ++,
# - . / 0 , # % 1#%
2 3 ) # - % $
# # % - 1 #% # ( $
. 4 5 % 6 () / # # % %
)$
. / 0 , %% 6 7 %
8 9 :- %
) 7 ;7 80 ($* 2 3 #%
) %
4:<;= < , > < > <? > $ / 0 , %% # 6 6
@ 6 -/ : @ /; - %
%
@ A . #% - / 0 ,2 3
/ %
) # - ( % - #% -
% $ # - %%
) - @/ ( -- ( %
)
#%) % 4 :<;= < , > <10 > <3 > $ 7 / ##
( 6) %( % $ B % ) % /
#% . 5% 5 %% 6 # 6%
% B # # - #% %
%
)$
- 6 # .0* -2 3 %6 - -
6 @ $ ( .
6 6 - 6 - 6 - : @ $ ;$
@ A . 5 6 ( 2?3
-%
% # ( @ .0 .0 2 3$
x0 x5 x12 x16
GATE A
LSB MSB
GATE C
GATE B
Data In : First Transferred Bit (MSB) first
Data Out
@ A7 # ( . / 0 ,C .
x0 x5 x12 x16
LSB MSB
GATE B
Data In : First Transferred Bit (MSB) first
Data Out
@ *A7 # ( . / 0 ,. .
6 ) %
% . - / %%
-%% # ( ( -@ 0 0 -
2,3$ ) . / 0 #%
) %
4:<;= < > < > < > < > < > $
x0 x2 x11 x21 x23 x32
GATE A
LSB MSB
GATE C
GATE B
Data In : First Transferred Bit (MSB) first Data Out
@ ?A7 # ( . / 0 C .
x0 x2 x11 x21 x23 x32
LSB MSB
GATE B
Data In : First Transferred Bit (MSB) first Data Out
@ ,A7 # ( . / 0 . .
. / 0 , %% # ,06 / ) (%
6 ## - 6 - $
## %
%6 6 $ @ 1 #%
-%
% # / ) % +1D?@5 :
- 6 % - 6 ;$
/ (% %%6 ## -%
% #
/ ( % -+1++++ ( ) %% / ( %
$
1 #% / 0 , %% # % 6 6%
( % %% ## 6 6 % 2*3$
*
{
xor_flag = 1;
}
else
{
xor_flag = 0;
}
crc = crc << 1;
if (xor_flag)
{
crc = crc ^ 0x1021;
}
ch = ch << 1;
}
}
return (unsigned short)crc;
}
#endif
2 3 % ( - # .
) : . ;. FED$ 2G % 3$ ( %6%A
#A
HH# 6% $ $ H# 6% H ( H ++1+ $# -
2 3
7 % % 8 7 80 @ % I777$ / $ I$* $
2 3 ! " # $@ 6 ++, 7 %
$
2*3J G 6) /# ) * ++,$
2?3 % " % ( - # . )
: . ; # ++ $ 2G % 3$ ( %6%A
#A
HH# 6% $ $ H# 6% H ( H 1+6 $# -
2,3" & ' % " ( # ) * % (
- # . ) : . ; # % ++ $ 2G % 3$ ( %6%A
#A
HH# 6% $ $ H# 6% H ( H 1 6 $# -