我说计算的CRC怎么还能动态变化,原来已经越界了。
还一直在排查任务栈空间和系统栈空间问题。。。以及各个子函数的问题
[C] 纯文本查看 复制代码 uint32_t CRC32_STM32_PC(uint32_t *di, uint32_t len)
{
uint32_t crc_poly = 0x04C11DB7;
uint32_t data = 0xffffffff;
for (uint32_t i = 0; i < len; i++)
{
data ^= di[i];
for (uint8_t j = 0; j < 32; j++)
{
if (data & 0x80000000)
{
data = (data << 1) ^ crc_poly;
}
else
{
data <<= 1;
}
}
}
return (data);
}
|