#include "xl_crc.h" #include "Hal_crc.h" #include "xl_sim.h" #define SELECT_16or32 1 extern void Hal_CrcInit(void) { SIM_SCGC_Cmd(SIM_SCGC_CRC, ENABLE); #if (0 == SELECT_16or32) CRC_InitTypeDef CRC_InitStructure; CRC_InitStructure.CRC_DataOutInvert = CRC_DATAOUT_NoInvert; // no invert CRC_InitStructure.CRC_DataWidth = CRC_Width16Bits; CRC_InitStructure.CRC_PolyData = 0x8005; CRC_InitStructure.CRC_Transpose16Only = CRC16_TRANSPOSE_IN16; CRC_InitStructure.CRC_WriteTranspose = CRC_NoTranspose; CRC_Init(&CRC_InitStructure); #else CRC_InitTypeDef CRC_InitStructure; CRC_InitStructure.CRC_DataOutInvert = CRC_DATAOUT_Invert; // no invert CRC_InitStructure.CRC_DataWidth = CRC_Width32Bits; CRC_InitStructure.CRC_PolyData = 0x04c11db7; CRC_InitStructure.CRC_Transpose16Only = CRC16_TRANSPOSE_IN32; CRC_InitStructure.CRC_WriteTranspose = CRC_TransposeBoth; CRC_Init(&CRC_InitStructure); #endif }