RMCSACHSEN e. V.
RMC Toolbox
Tools
RMC Toolbox

Deine Tools als App

Direkt vom Startbildschirm. Auch ohne Internet.

  1. Browsermenü öffnen
  2. „App installieren“ auswählen
  3. Bestätigen und über das App-Symbol starten

Schon installiert? Öffne „RMC Toolbox“ über das App-Symbol auf deinem Gerät oder über „In App öffnen“ im Browsermenü.

Atmel/AVR-Timer

Berechne Prescaler, Preload und Timerzeit für klassische Atmel/AVR-Controller. Den passenden Code kannst du anschließend für BASCOM oder AVR-GCC übernehmen.

Deine Einstellungen

Live

Zeit und Frequenz werden automatisch umgerechnet. Verwende den tatsächlichen CPU-Takt nach einer eventuellen Taktteilung.

Timer auswählen

Deine Timer-Einstellung

Automatisch optimiert
Prescaler
—
Preload
—
Erreichbare Zeit
—
Abweichung
—
—
Zählschritte
—
Zeit je Zählschritt
—

Timerzeit aus Takt und Zählschritten

t=(2b−P)·NfCPU

b = Bitbreite, P = Preload, N = Prescaler, fCPU = CPU-Takt in Hz. Die Formel ergibt die Zeit in Sekunden.

Min. —Max. —

Dein BASCOM-Code

Übernehmen, Interruptcode ergänzen, loslegen.

Das C-Beispiel verwendet die Register des ATmega328P. BASCOM setzt die passende Controller- und Taktkonfiguration im Projekt voraus.

So funktioniert die Berechnung

Der Rechner verwendet den normalen Timer-Überlauf: Von seinem Preload zählt der Timer bis 2 hoch Bitbreite. Ein Prescaler teilt dabei den CPU-Takt. Timer 0 und 2 haben 8 Bit, Timer 1 hat 16 Bit.

Timer 0 und 1 verwenden die Prescaler 1, 8, 64, 256 und 1024. Bei Timer 2 kommen 32 und 128 hinzu. Gewählt wird die kleinste Zeitabweichung; bei gleicher Genauigkeit der kleinere Prescaler. Grundlage sind klassische AVR-Timer wie beim ATmega328P. Andere AVR-Familien können abweichende Timer besitzen.

Die berechnete Zeit ist die reine Zählzeit. Taktabweichungen und die Verzögerung bis zum Nachladen in der Interrupt-Routine sind nicht enthalten. Das ist eine Überlaufberechnung, kein CTC- oder PWM-Rechner.

Ohne „Regelmäßig ausführen“ stoppt der Timer im Interrupt. Ohne „Timer sofort starten“ bleibt er zunächst angehalten; der Code zeigt, wie du ihn später startest. Die Beispiele konfigurieren den gewählten Timer neu. Verwende ihn nicht gleichzeitig für andere Aufgaben.

Register und Interrupts: ATmega328P-Dokumentation und avr-libc.

Idee und Umsetzung: Michael Helmert, RMC Sachsen e. V.