Hello all,
currently I'm trying to port an application from a MC56F847 controller to a Kinetis V4x controller. Therefore I need and an FTM counter to start counting based on an the beginning of an PWM cycle / signal. After two configureable delays I need to enable two outputs (independently).
So here is my concept so far:
- PWM generation: PWMA_0A -> PWMA0_TRG0
- Connection between PWM & FTM component: PWMA_A0_TRG0 -> over xbar -> FTM0_TRIG2
- Two channels as output compar mode: FTM0_CH0 & FTM0_CH1
I use the following code o initializ the timer component:
ftmConfig.extTriggers =kFTM_Chnl0Trigger;
ftmConfig.chnlInitState =0;
ftmConfig.pwmSyncMode =kFTM_HardwareTrigger_2;
if (FTM_Init(FTM0, &ftmConfig) != kStatus_Success)
{
return false;
}
FTM_SetupOutputCompare(FTM0, kFTM_Chnl_0, kFTM_SetOnMatch, 1000);
FTM0->SYNC |= (1<<2); // reinit
FTM0->CNTIN =0U;
FTM0->MOD =0xFFFFU;
And here the problem begins. If I now enable the timer via FTM_StartTimer(...) it starts counting and the channel 0 output will be set after a while. Is it possible start the counting when the signal TRIG2 occurs? The other problem is, that the counter currently just overflows and starts counting from zero again - but it should stop counting and reset the outputs to their initial values - is that possible?
Best Regards,
Florian