Hallo! Ich hab ein kleines Problem mit meinem Timer Interrupt. Folgende Konfiguration: ATMega32, 16MhZ, bis jetzt noch alle Timer unbelegt. Ich hätte gerne folgendes: Ein Interrupt, der alle x µsec aufgerufen wird. Die Aufgabe des Interrupts ist lediglich eine einzige Variable abzuändern, also nichts Zeitaufwändiges. x soll einstellbar sein über eine Funktion. z.B.: set_timer(1000), damit der Interrupt dann eben alle 1000µS aufgerufen wird. x bewegt sich in der Größenordnung 1-1000000 µS Ich frickel jetzt schon den ganzen Tag dran rum, bekomm das aber mit den Timer einfach nicht gebacken. Hat von euch wer schon mal sowas ähnliches programmiert, oder ne schnelle Lösung, woraus ich mir dann meine Funktionen ableiten kann? Schon mal Tausend Dank!
> Ich frickel jetzt schon den ganzen Tag dran rum, bekomm das aber > mit den Timer einfach nicht gebacken Woran scheiterts? Ist dir grundätzlich klar, was du machen musst? Kriegst du es hin, dass dein Timer alle x=konstant µS einen Interrupt auslöst (welchen eigentlich? ein Timer kann ja mehrere verschiedene Interrupts auslösen) Das sollte mal dein erstes Ziel sein. Such dir eine Zahl für x und schau zu, dass du das realisieren kannst. Auf dem Weg dorthin lernst du genug über Timer um rauszukriegen, wo das Problem liegt, wenn x eine beliebige Zahl (in deinen Grenzen) sein kann. Und auch was du dann machen mußt.
Mit x=konstant klappts so halbwegs. Für meinen Zweck ist denk ich der Overflow Interrupt am besten geeignet, andererseits könnt ich ja auch den Comparator nehmen, und den irgendwo vergleichen lassen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.