PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Teensy 3.2 +++ Interrupttimer via RTC ?



frabe
22.10.2019, 11:00
Hallo zusmmen.
Gerne arbeite ich mit zeitgesteuerten Abläufen.

Der [ms]-Grundtakt muss absolut stabil sein.
Bei AVRs verwendete ich ISR(TIM1_COMPA_vect)+Zähler im [ms]-Bereich.

Macht es Sinn, beim Teensy die RTC-Steuerung mit Interruptauswertung zu verwenden?
Wo kann ich mich in RTC-Auswertung einlesen (möglichst deutsch)?
Ext. Quarz ist in Beschaffung.

Mxt
22.10.2019, 14:56
Hallo,

da sind beim Teensy verschiedene Möglichkeiten vorgesehen:

millis() und micros() solltest du schon kennen. Beide werden beim Teensy vom Systick Timer versorgt.

Als Erweiterung gibt es beim Teensy elapsedMillis und elapsedMicros
https://www.pjrc.com/teensy/td_timing_elaspedMillis.html

Viele Libraries verwenden intern wieder die IntervalTimer Library. Dieser stehen vier Hardwaretimer zur Verfügung (PIT0 bis PIT3). Das ist auch in eigenem Code die einfachste Möglichkeit, wenn man einen regelmässigen Timer Interrupt braucht.
https://www.pjrc.com/teensy/td_timing_IntervalTimer.html
Da die vier Timer von der Funktion her gleichwertig sind, nimmt die Library immer den nächsten noch freien. So ist Code, der einen Timer benutzt, nicht auf einen bestimmten Timer festgelegt. Das erhöht die Chance Libraries parallel benutzen zu können, wo das bei AVR Arduinos zu Konflikten führt. (Ein ähnliches Konzept benutzt der Teensy bei DMA-Kanälen.)

Die RTC ist wohl eher was, wenn man mit Stunden, Minuten oder bestenfalls Sekunden arbeiten will. Ob die im Millisekunden Takt benutzt werden kann, entzieht sich jetzt wirklich meiner Kenntnis.

Die Timer FTM0 bis FTM2 sind standardmäßig für die PWM vorgesehen.

Dann gibt es noch die Timer CMT, PDB und LPTMR ...