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
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
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
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.