void InitFTM1(void)
{
/* enable clock to FTM module */
// SIM->SCGC6 |= SIM_SCGC6_FTM1_MASK;
FTM1->MODE = FTM_MODE_WPDIS_MASK | FTM_MODE_FTMEN_MASK;
FTM1->SC = FTM_SC_PS(4) | FTM_SC_CLKS(1) | FTM_SC_TOIE_MASK;
FTM1->CONF = FTM_CONF_BDMMODE(3);
FTM1->MOD = 0xFFFF;
FTM1->CNTIN = 0x0;
FTM1->CONTROLS[1].CnSC |= FTM_CnSC_ELSA_MASK | FTM_CnSC_ELSB_MASK;
FTM1->PWMLOAD = FTM_PWMLOAD_LDOK_MASK;
EnableIRQ(FTM1_IRQn);
}
void InitFTM2(void)
{
SIM->SCGC6 |= SIM_SCGC6_FTM2_MASK|SIM_SCGC6_FTM1_MASK;
SIM->SOPT4 |= SIM_SOPT4_FTM2CH1SRC_MASK;
FTM2->MODE |= FTM_MODE_FTMEN_MASK;
FTM2->CONF |= FTM_CONF_BDMMODE(3);
FTM2->MOD = 0xFFFF;
FTM2->CNTIN = 0;
FTM2->SC |= FTM_SC_CLKS(1);
FTM2->SC |= FTM_SC_PS(7);
FTM2->CONTROLS[0].CnSC |= FTM_CnSC_ELSA_MASK | FTM_CnSC_ELSB_MASK;
FTM2->CONTROLS[1].CnSC |= FTM_CnSC_ELSA_MASK | FTM_CnSC_ELSB_MASK | FTM_CnSC_ICRST_MASK;
FTM2->CONTROLS[1].CnSC |= FTM_CnSC_CHIE_MASK;
EnableIRQ(FTM2_IRQn);
}
BR
PANDI