1. In the main loop, use "CRP_run16BitPoly1Reflected" and in interrupts, use "CRP_run16BitPoly2".
2. Interrupted "CRC_run16BitPoly2" will cause VCRC calculation errors in the main loop.
3. Modify "CRP_run16BitPoly2" to save the VCRC value using VMOV32 before starting the calculation, and restore it after the calculation is completed.
4. The calculation of "CRP_run16BitPoly1Reflected" in the main loop is normal.
5. In subsequent testing, it was found that the VCRC calculation of the main loop and interrupts would have random errors.
6. Put "CRC_run16BitPoly1Reflected" and "CRC_run16BitPoly2" into the main loop for use, and the calculation is normal.
——————————————————————————————————————
Question: If I want to use the VCRC module in both the main loop and interrupt, how can I avoid calculation errors.