AnsweredAssumed Answered

Reset timer on falling edge

Question asked by piet t on Nov 9, 2017
Latest reply on Nov 9, 2017 by piet t

Good morning everyone,


I'm using an stm32f772ze on a nucleof722ze dev board.


I'm not sure if this is possible, although I have read all the relevant documentation (I could have missed something) and I'm still unsure.


1) It seems like the timer reset mode is hard set to only be able to trigger on a rising edge, is there no way to reset the counter on the falling edge of an input signal?


2) The combined reset and trigger mode:


I set up the timer as follows:


  • Slave mode: Combined reset trigger mode
  • Trigger source:ETR1
  • Clock source: Internal
  • Channel 1: Input capture direct mode
  • With a periph-mem DMA triggered via TIM1_CH1


It seems like that when I use this mode, the counter just goes crazy and keeps running until a new edge is detected on the ETR1 pin and then just restarts and again counts like crazy. Doesn't this count the pulses that is received on the channel 1 input? it feels like in my application its counting the internal clock pulses as It counts even when the channel 1 input pin is floating or grounded.


Just to expand on what I'm trying to do:


I have a timer setup on input capture and a DMA transfer is triggered each time a rising edge is detected. Although I'd only like the DMA to be triggered for an x amount of times, lets say 96 times. So once the trigger edge (ETR1) has a falling edge, I'd like the DMA triggering to start for 96 clock cycles of channel 1 and then stop until another falling edge is detected on the trigger edge(ETR1) and have this continue until I end the process.


Any help or advice will really be appreciated.