If there is floating-point operation in the project, the RTOS cannot switch tasks normally. If the floating-point operation is turned off before and after the open interrupt, it can be normal.
When using floating point arithmetic, which registers are required to be pushed into the stack when the task is switched?
It is best to provide a project with FREERTOS with floating point operations.