Du hättest vielleicht mal die Suche benutzen können und wärst dann auf das Programm rnAvr gestoßen. Ich hab mal mit diesem Programm den Timer0 und Prescale etc. berechnet:
Pro Sekunde wird 100 mal die ISR aufgerufen, das entspricht i += 100 pro sekunde -> Nach 3 Minuten: i = 18.000
Code:
Config Timer0 = Timer, Prescale = 1024
On Timer0 Timer_irq
'Diese Vorgabe wurde berechnet um die genaue Intervallfrequenz zu erreichen
Const Timervorgabe = 100
'Hier werden die Timer aktiviert
Enable Timer0
Enable Interrupts
Do
Loop
Timer_irq:
Timer0 = Timervorgabe
Return
Das Programm ist für einen Atmega mit 16Mhz Quarz gedacht, wenn du eine andere Quarzfrequenz hast, musst du es mit Hilfe von rnAvr anpassen.
Als Reset Taste kannst du ja die Reset Taste vom AVR benutzen, aber was meinst du mit:
und wie kriege ich dass hin dass wenn ich jetzt nen taster betätige dass er änfängt zu zählen und wenn ich ihn nochmal drücke dass er weiterläuft?
Zum starten kannst du einfach eine Taste abfragen und wenn die Taste gedrückt wurde könntest du eine Variable taster_gedrueckt auf eins setzen. In der ISR schreibst du dann nicht einfach i++; sondern machst noch eine Abfrage ob taster_gedrueckt 1 ist, wenn ja dann wird i inkrementiert, wenn nein dann passiert nix. Wenn die Taste nochmal gedrückt wird könntest du die Variable taster_gedrueckt wieder auf 0 setzen.
Hoffe das war das, was du wissen wolltest.
Lesezeichen