mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zeitdauer über externen Interrupt und Register


Autor: insicor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo zusammen,

ich hab eine frage zur programmierung einer zeitdauer.

ich hab am int0-eingang einen schmitt-trigger hängen der 50 hz liefert. 
wenn ich jetzt 10 sec generieren will hab ich gedacht ich mach das über 
register.
sprich: ich lade #0ah in ein register und dekrementiere den wert, bis 
ich bei 0 bin! meine frage ist, ob ich das laden und das dekrementieren 
des registers im interrupt programmieren muss oder geht das im 
hauptprogramm?

danke schon mal für die antwort.

gruß insicor

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laden 1x bei reset im Hauptprogramm, decrease in der Interruptroutine.
Wenn die 10 sich wiederholen sollen, musst du bei 0 das register neu 
beladen. Würdest du uns verraten, was du vorhast, könnten wir dir 
vielleicht noch mehr helfen.

Autor: Thomas Eckmann (Firma: Thomas Eckmann Informationst.) (thomase)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
insicor schrieb:
> sprich: ich lade #0ah in ein register und dekrementiere den wert, bis
>
> ich bei 0 bin! meine frage ist, ob ich das laden und das dekrementieren
>
> des registers im interrupt programmieren muss oder geht das im
>
> hauptprogramm?

Das kannst du mit Interrupt oder im Hauptprogramm machen.
Ist aber beides schlecht.

Du nimmst einen Timer. So ein Timer heisst mit vollem Namen 
Timer/Counter.
Dann lädst du in den Counter einen Capture-Wert, in diesem Fall 500 und 
wenn dieser erreicht wird löst der Counter einen Interrupt aus.

Mit deiner Zählvariablen passt das nicht. 0x0A, hast du mit 50Hz in 
200ms auf 0 dekrementiert. Und nicht in 10 Sek.



mfg.

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.