23 lines
511 B
C
23 lines
511 B
C
#include "bsp_crc32.h"
|
|
#include "main.h"
|
|
extern CRC_HandleTypeDef hcrc;
|
|
|
|
uint32_t get_crc32_check_sum(uint32_t *data, uint32_t len)
|
|
{
|
|
return HAL_CRC_Calculate(&hcrc, data, len);
|
|
}
|
|
|
|
bool_t verify_crc32_check_sum(uint32_t *data, uint32_t len)
|
|
{
|
|
static uint32_t crc32;
|
|
crc32 = get_crc32_check_sum(data, len-1);
|
|
return (crc32 == data[len-1]);
|
|
}
|
|
void append_crc32_check_sum(uint32_t *data, uint32_t len)
|
|
{
|
|
uint32_t crc32;
|
|
crc32 = get_crc32_check_sum(data, len-1);
|
|
data[len-1] = crc32;
|
|
}
|
|
|