Bräuchte Hilfe! Finde meinen Fehler nicht!

Gast #1430363
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
Angehängte Dateien:
Gast
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
Gast
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.