Hello.
I've calculated CRC-16 for test array "0xAF41" by VCU2 functions from example project.
For "INIT_CRC16 = 0x0000" "Calculated_CRC = 0x1C73", for "INIT_CRC16 = 0xFFFF" "Calculated_CRC = 0x9C7E".
If I calculate CRC-16 for this test array manually, I'll get the same result for init value "0" but another for init "0xFFFF" ("Calculated_CRC = 0x1C57", see pictures below).
If I want calculated CRC by VCU equals manually calculated CRC I have to set "INIT_CRC16 = 0x0000" and real init value (0xFFFF) write in front of the test array (test array in this case will be "0xFFFFAF41"). Then "Calculated_CRC = 0x1C57" too.
Is it a normal behavior of CRC VCU calculation? Do I need to write init value in front of array before call CRC VCU functions for proper results?
I know that online-CRC-calculators issues results like CRC VCU functions but I can not understand why they do so and what I have to do. Maybe it is worldwide practice to calculate CRC so?
My CRC parameters:
Name: CRC-16
Width: 16
Poly: 0x8005
Init: 0xFFFF
RefIn: FALSE
RefOut: FALSE
XorOut: 0xFFFF