4  Timer

Die Messung von Zeitintervallen aber auch die Ausgabe zeitlich synchronisierter Vorgänge ist eine häufige Aufgabe beim Entwurf von Embedded-Systemen. Hierzu können so genannte Timer (Zähler) eingesetzt werden, die im einfachsten Fall aus einem Register bestehen, das synchron zu einem Systemtakt hochgezählt wird. Durch Abfrage des Registers kann dann die Zeit gemessen werden. Dies ist jedoch nur die Grundfunktion. Durch Erweiterung der Timer-Steuerung und Auswertung können auch komplexere Funktionen wie zum Beispiel eine Pulsweitenmodulation realisiert werden. Hierzu dienen die so genannten Capture/Compare-Register, die einen Wert enthalten, der mit dem Timer-Zählregister verglichen wird. Abhängig vom Ergebnis kann dann ein Interrupt ausgelöst, das Verhalten des Timers (z.B. aufwärts/abwärts zählen) oder der Status von Ausgangspins beeinflusst werden.

Ein spezieller Timer ist der Watchdog-Timer, der, wenn er nicht regelmäßig betätigt wird, den Prozessor neu startet. Im MSP430 sind je nach Modellausstattung mehrere verschieden komplexe Timer integriert, die aus dem in Kapitel 3 eingeführten Basic-Clock-Modul gespeist werden.

 4.1  Timer A/B
  4.1.1  Taktquellen und Initialisierung
  4.1.2  Betriebsarten
  4.1.3  Capture/Compare-Timer-Kanäle
  4.1.4  Timer-B-Besonderheiten
 4.2  Watchdog-Timer
  4.2.1  Funktionalität
  4.2.2  Watchdog-Timer-Control-Register
 4.3  Basic-Timer
  4.3.1  Initialisierung
  4.3.2  Zählerregister
  4.3.3  Kombination zu einem 16-Bit-Timer
 4.4  Aufgaben