Enter 8-bit input data to the CRC calculator. Specific data handling to optimize processing time.
441 for (i = 0U; i < (BufferLength / 4U); i++)
443 hcrc->
Instance->DR = ((uint32_t)pBuffer[4U * i] << 24U) | \
444 ((uint32_t)pBuffer[(4U * i) + 1U] << 16U) | \
445 ((uint32_t)pBuffer[(4U * i) + 2U] << 8U) | \
446 (uint32_t)pBuffer[(4U * i) + 3U];
449 if ((BufferLength % 4U) != 0U)
451 if ((BufferLength % 4U) == 1U)
453 *(__IO uint8_t *)(__IO
void *)(&hcrc->
Instance->DR) = pBuffer[4U * i];
455 if ((BufferLength % 4U) == 2U)
457 data = ((uint16_t)(pBuffer[4U * i]) << 8U) | (uint16_t)pBuffer[(4U * i) + 1U];
458 pReg = (__IO uint16_t *)(__IO
void *)(&hcrc->
Instance->DR);
461 if ((BufferLength % 4U) == 3U)
463 data = ((uint16_t)(pBuffer[4U * i]) << 8U) | (uint16_t)pBuffer[(4U * i) + 1U];
464 pReg = (__IO uint16_t *)(__IO
void *)(&hcrc->
Instance->DR);
467 *(__IO uint8_t *)(__IO
void *)(&hcrc->
Instance->DR) = pBuffer[(4U * i) + 2U];