void crc_init(u8 type) // CRC初始化
{
ENABLE_CRC_CLOCK; // 开启CRC时钟
switch(type)
{
case CRC8_SAE_J1850:
CRC_IDATAR = 0xFF;
CRC_POLYR = 0x1D;
CRC_CTLR = 0x11; // 输出数据不翻转,输入数据不翻转, 8位, 复位
return;
case CRC16_SANKYO:
default:
CRC_IDATAR = 0x0000;
CRC_POLYR = 0x1021;
CRC_CTLR = 0x09; // 输出数据不翻转,输入数据不翻转, 16位, 复位
return;
}
}
|