tao_z
2022-06-01 0ff91e66071237834a1501c78648729c8c32f67a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#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
}