Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

6
  • First make sure you limit the data sent to the serial port inside your ISR when the interrupts are disabled. At 9600 baud it takes 1ms to send one byte over the serial link. Commented Mar 24, 2015 at 15:52
  • @Alex the Due might have hardware serial, which is dealt with asynchronously by the hardware UART/USB. The Due is a powerful Cortex M3 I doubt there is any processing issue there.. Commented Mar 24, 2015 at 15:55
  • chaya have you looked at an oscilloscope and seen if the numbers are correct, or even close at all? Commented Mar 24, 2015 at 15:56
  • chaya your output doesn't match the strings shown in the code, where are the lines showing "period" and "phase shift"? Commented Mar 24, 2015 at 15:58
  • 2
    The best solution would be to just capture time in ISR1 and ISR2. And then subtract the values and display the difference in the main loop at a slower speed. Obviously you may miss a few samples every now and then. Commented Mar 24, 2015 at 16:05