Hi FwFan,
There is a big difference between your "movMotMicroStp" routine and your "move_motor_partialstep" routine:
"movMotMicroStp" has no loops and just starts the motion. It exits immediately and lets the motion take place in the background.
"move_motor_partialstep" performs the entire move within a loop that will not exit until the motion completes.
When you call these routines from the SCI polling code, the TPM interrupts can occur because interrupts are enabled. But when you call these routines from the SCI interrupt service routine, interrupts are disabled. That doesn't effect the "movMotMicroStp" operation, because it exits right away, so the SCI interrupt service routine can also exit right away, re-enabling interrupts. But the "move_motor_partialstep" routine doesn't exit, and prevents the SCI ISR from exiting, so all other interrupts, including TPM interrupts, are blocked.
Hope that helps.