'CRC-32 for STM32L4 calculate from HAL_CRC_Calculate(); function
As CRC Configuration below
hcrc.Instance = CRC;
hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_ENABLE;
hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_ENABLE;
hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_NONE;
hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE;<br>
hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES;
if (HAL_CRC_Init(&hcrc) != HAL_OK)
{
Error_Handler();
}
Polynomial state : default (MPEG-2 : 0x04C11DB7)
Value stage : default (MPEG-2 : 0xFFFFFFFF)
The result data calculate from HAL_CRC_Calculate(...); is 0xD2AEA5A1
uint32_t data[2]={0x01, 0x01};
uint32_t crc_cal;
crc_cal = HAL_CRC_Calculate(&hcrc, data, 2);
sprintf(VariableDebug,"CRC Value (HAL_CRC Cal.) %08X, ",crc_cal);
PRINT_MSG_CYAN(VariableDebug);
It's not the same as data from CRC online is 0xD66FB816 as Link below
https://crccalc.com/
Could you please help me solve this problem?
Best regards, Suchada Sri.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
