Ich glaube wirklich, daß es ein Tutorial wird....
OK, mit Interrupts hast Du noch keine Erfahrungen, naja, aber jetzt.
Das habe ich schonmal gesagt, er springt nicht sondern, nachden die letzte Zeile in reset abgearbeitet wurde, geht er zur nächsten, die einfach nur loop heißUnd dann springt er ja zur loop
Nein so geht es nicht ab.und wartet bis ich den Taster drücke und springt dann in den Interrupt zeitum.
loop ist ja meine Hauptschleife, dort arbeitet das Programm schön Zeile für Zeile ab.
Den Timer habe ich auf etwa 26 mS eingestellt, das heißt wenn 26 mS um sind,
wird ein Interrupt ausgelöst und dann springt er in zeitum: rein.
Dort wird nachgeschaut, ob Taster Low ist, wenn nicht, verläßt er zeitum: wieder und
geht an die Stelle im Programm zurück, wo er durch den Interrupt unterbrochen wurde.
Das Programm wartet nicht auf die Taste !!!
Es ist ihm egal ob Sich da was tut oder nicht, es macht munter seine Arbeit(naja in meinem Beispiel springt nur zwischen loop und rjmp loop hin und her) es wird einfach nur alle 26mS abgebrochen.
Naja Standard, weiß nicht es sind immer die gleichen Register, die vorbelegt werden müssen.Wenn ich das richtig verstanden habe, ist das sone Art Standardcode, den man oben beim "reset" einfügt
Es wird nicht gewartet, jetzt müßtest Du das verstehen(sehe oben)sodass dann bei jedem Interrupt eine bestimmte Zeit gewartet wird?
Ja, davon gibt es noch mehr(der Mega hat 3 Timer), sehe link von mirTCCR0, TIMSK, TCNT0
Der Timer läuft bei 255 über und verursacht einen Timer Overflow Interrupt(zeitum: seheUnd was hat das 255-254 genau zu bedeuten
.org OVF0addr
rjmp zeitum) oder DattenBlatt
ich habe mir ausgerechnet, daß er genau 254 mal hochzählen muß, bevor er überläuft,
dann ist es einfacher zu schreiben 255-254)
klaro?
Gruß Sebastian
Lesezeichen