Skip to main content
dibs
Associate III
October 28, 2013
Question

Timing Between Events - Guaranteeing Catching the CNT Register

  • October 28, 2013
  • 2 replies
  • 467 views
Posted on October 28, 2013 at 14:02

Using an STM32F407

I am using a timer to capture the time between two TRGI events. It is set to reset every trigger in event. In my current code, the ISR for the TRGI event reads the CNT value to determine this value.

This seems like it will be a race condition. Is there a better way to guarantee that I will get this value every time?

#trigger #stm32f4 #timer
This topic has been closed for replies.

2 replies

Tesla DeLorean
Guru
October 28, 2013
Posted on October 28, 2013 at 14:21

Generally you'd want to latch values in CCRx registers, as CNT keeps ticking, and interrupt latency can be somewhat variable.

There are other gated modes to control the timer, and you could perhaps read the CNT via DMA.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
dibs
dibsAuthor
Associate III
October 28, 2013
Posted on October 28, 2013 at 17:58

Thanks Clive,

I ended up using CC1 in IC mode set up to use TRC as the trigger. I am checking the value in an ISR. This seems to be working well initially.