Hi,
I think your solution is feasible. The FTM0 module can function as both PWM signal generator and equivalent free-running clock. As you know, the FTM0 can generate the overflow interrupt if you set the TOIE bit in FTM0_SC register when the FTM0 functions as PWM generator , because the FTM0 has only one interrupt vector for all the FTM0 interrupt sources for example, overflow interrupt, capture interrupt, PWM fault interrupt..., in the ISR of FTM0, you can check the interrupt source, if the TOF bit is set in the FTM0_SC register, it is overflow interrupt, you can increase a global variable for example modval by 1. After you receive the first 3 characters, you read the modval as for example modVAL1 and the FTM0_CNT as cntVAL1. When you receive the second 3 characters, you read the modval as for example modVAL2 and the FTM0_CNT as cntVAL2, you can get the delay with the following formula in tick number:
delay=(modVAL2*FTM0_MOD+cntVAL2)-(modVAL1*FTM0_MOD+cntVAL1).
You can read the modval and FTM0_CNT anytime.
Hope it can help you. If I misunderstand you, i am sorry.
BR
XiangJun Rong