www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit Timer Interrupt


Autor: Ralf Ramsauer (rralf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 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.

Autor: Ralf Ramsauer (rralf)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.