beautypg.com

Sshqgl[ $ 5hprwh $fwlydwlrq – Grass Valley XSwitch Feb 01 2005 User Manual

Page 35

background image

34 ©2001 XSWITCH Installation and Operations Manual

$SSHQGL[ $ 5HPRWH $FWLYDWLRQ

EXAMPLE 'C' PROGRAM

//==================================================================

// UpdateCRC16()

//==================================================================

//

Calculated: X^16 + X^12 + X^5 + 1

//------------------------------------------------------------------

UINT UpdateCRC16( BYTE b, UINT crc )

{

unsigned int i;

// Calculate CRC

for( i = 0; i < 8; i++ )

{

if ( ( crc ^ b ) & 1 ) crc >>= 1, crc ^= 0x8408;

else crc>>=1;

b >>= 1;

}

return crc;

} // end UpdateCRC16()

//==================================================================

// CalcCRC16()

//==================================================================

UINT CalcCRC16( LPBYTE buf, DWORD size )

{

UINT crc = 0;

// Calc CRC16 on buffer

for ( DWORD i = 0; i < size; i++ )

crc = UpdateCRC16( buf[ i ], crc );

} // end CalcCRC16()