Question
CRC calculation problem
Posted on December 16, 2015 at 15:40
Hi.
I'm trying to calculate CRC on STM32F303 using CRC peripheral. I check the correctness of calculation with this on-line application: But I have problems, when I want to calculate CRC above more than 32 bits. If I write to CRC->DR register 32 bits it returns the same as on-line app. For example: - Init value: 0x00000000 - Polynomial: 0x97 - Input data: 0xA5A5A5A5 Here I get CRC value of 0x5A. And the same result I get with on-line app. But if I want to calculate CRC above 40 bits, I don't get the same value anymore. For example: - Init value: 0x00000000 - Polynomial: 0x97 - Input data: 0xA5A5A5A5CC Write CRC->DR = 0xA5A5A5A5 returns 0x5A. Above that I write CRC->DR = 0xCC. And I get 0xFF. Then I use on-line app. And I write input data as: 0xA5A5A5A5CC. It returns 0x44, which is not the same as uC returns. Obviously, I'm doing something wrong. I have set REV_OUT and REV_IN in CR register to 0. Do you have any advice? Thanks #worst-forum-software-ever