mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bräuchte Hilfe! Finde meinen Fehler nicht!


Autor: suboptimal (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich möchte mit einem atmega16 eine Stoppuhr bauen (Übung bin Anfänger)

Mit einem Taster starte ich die Stoppuhr. -> funktioniert

mit einem 2. Taster der einen Interrupt auslöst (INT0/ steigende Flanke)

soll die Uhr gestoppt werden. -> funktioniert

durch nochmaliges drücken des Interrupttasters soll die Zeit von der 
gleichen Stelle weiterlaufen.  -> funktioniert nicht !!!!

Stattdessen geht die uhr wieder auf 0, d.h. er macht immer einen Reset, 
so glaube ich, weil er die Sekunden nur nach einem Reset löschen kann.

Vielleicht kann mir jemand helfen.

Danke im Voraus

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
stopp:

  push  temp

  tst    taste1  ;stopptaste schon mal gedr�ckt?
  breq  n_gedrueckt  ;nein dann.

  dec    taste1  ;tastenmarker auf null setzen
  dec    taste2  ; wenn die zeile fehlt ist der starttaster aus!!

  in    temp, tccr0
  ori    temp, 0x04  ;cs02 anmachen --> prescaler auf 256 -> timer l�uft 
los
  out    tccr0, temp

  out    tcnt0, timer ;gespeicherter timerstand zur�ckladen

!! Hier fehlt ein pop temp !!

  reti

Autor: suboptimal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ohman ja danke !!!

Der Wald ... die Bäume ....

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>stopp:
>push  temp
>  tst    taste1  ;stopptaste schon mal gedrückt?
>.............
>  out    tcnt0, timer ;gespeicherter timerstand zurückladen
>       !!!!!!!!!!!! hier fehlt ein pop temp
>  reti

>n_gedrueckt:
>  in    timer, tcnt0 ;timerstand merken
>...............
>ende_st:
>  pop temp
>  reti

Besser du gewöhnst dir an, Unterprogramme, IS-Routinen mit einem 
Eintritts- und einem Austrittspunkt zu versehen. Macht die Fehlersuche 
einfacher.

MfG Spess

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.