CRC calculation in STM32G4
Hi,
I am working with STM32G491RE in my project. I have to transmit data through UART and I need to calculate CRC for that data.
in my application:
txdata[0] = 0x78;
txdata[1] = 0x04;
txdata[2] = 0x11;
txdata[3] = 0x01;
I have to calculate CRC16 for txdata[1] to txdata[3] and place it in txdata[4]& txdata[5].
1.I configured CRC parameters:
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;
hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES;
if (HAL_CRC_Init(&hcrc) != HAL_OK)
{
Error_Handler();
}
2. I am using following function to calculate CRC
HAL_CRC_Calculate(&hcrc, (uint8_t *)txdata[1] ,3);
is it correct way to do or need to change anything.
Can anyone suggest.
Thanks