Я пытаюсь создать CRC с аппаратным модулем STM32L4. Я хотел бы проверить файлы fatfs, так что в основном у меня есть байтовые массивы. Я использую этот CRC generator.Как установить STM32 для генерации стандартного CRC32
К сожалению, я не могу понять, как установить STM32L4 для создания того же результата. Мне нужно CRC32 и я
конфигурации:
hcrc.Instance = CRC;
/* The default polynomial is not used. It is required to defined it in CrcHandle.Init.GeneratingPolynomial*/
hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_DISABLE;
/* Set the value of the polynomial */
hcrc.Init.GeneratingPolynomial = 0x4C11DB7;
//hcrc.Init.GeneratingPolynomial = 0xFB3EE248;
hcrc.Init.CRCLength= CRC_POLYLENGTH_32B;
/* The default init value is used */
/* The default init value is not used */
hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_ENABLE;
/* User init value is used instead */
//hcrc.Init.InitValue = 0;
hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_NONE;
//hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_BYTE;
/* The input data are inverted by word */
//hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_WORD;
//hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_ENABLE;
hcrc.Init.OutputDataInversionMode = CRC_OUTPUTDATA_INVERSION_DISABLE;
hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES;
HAL_CRC_Init(&hcrc);
испытание:
uint8_t test[] = {49,50,51,52};
uint32_t uwCRCValue = HAL_CRC_Calculate(&hcrc,(uint32_t *) test, 4);
результат: A695C4AA
Я из идей. Существует один способ, которым я успешно с ним иметь uint32_t test[]
и вход настроен на hcrc.InputDataFormat = CRC_INPUTDATA_FORMAT_BYTES;
К сожалению, у меня есть uint8_t
...
Вы не забыли включить периферийные часы CRC? Ваш код не показывает его. – rost0031
Вы прочитали соответствующее справочное руководство? Модуль CRC имеет расширенные настройки для разных случаев, связанных с проверкой подлинности. Если у вас есть правильный результат с uint32_t test [], так что проблема только в настройках настройки. – imbearr
Спасибо за ваш ответ. Да, я проверил их (я использовал генератор кода CubeMX). Я прочитал справочное руководство. К сожалению, никакая комбинация настроек не дает мне никакого CRC32, вычисленного по стандартным алгоритмам. –