TIM_TIMERCFG_Type timer2_cfg; timer2_cfg.PrescaleOption = TIM_PRESCALE_TICKVAL; timer2_cfg.PrescaleValue = 1;// prescaler: run at main clock speed! TIM_Init(LPC_TIMER2, TIM_TIMER_MODE, &timer2_cfg); TIM_CAPTURECFG_Type timer2_capture; timer2_capture.CaptureChannel = TIMER_CAPTURE_CHANNEL; //3 timer2_capture.FallingEdge = ENABLE; timer2_capture.RisingEdge = ENABLE; timer2_capture.IntOnCaption = DISABLE; TIM_ConfigCapture(LPC_TIMER2, &timer2_capture); TIM_MATCHCFG_Type timer2_match; timer2_match.MatchChannel = 0; timer2_match.IntOnMatch = DISABLE; timer2_match.ResetOnMatch = DISABLE; timer2_match.StopOnMatch = DISABLE; timer2_match.ExtMatchOutputType = TIM_EXTMATCH_NOTHING; timer2_match.MatchValue = 0; TIM_ConfigMatch(LPC_TIMER2, &timer2_match); // set P6.6 to capture register CAP2.3 scu_pinmux(PORT_DVS_REQUEST, PIN_DVS_REQUEST, 0, FUNC5); LPC_GIMA ->CAP2_3_IN = (uint32_t) (0x1 << GIMA_CAP2_3_IN_SELECT_Pos) | GIMA_CAP2_3_IN_PULSE_Msk | GIMA_CAP2_3_IN_SYNCH_Msk | GIMA_CAP2_3_IN_EDGE_Msk; TIM_Cmd(LPC_TIMER2, ENABLE); //Enable timer2 |