Hallo Teslanikola,

nette Idee das mit dem Var2 = Var2 + 256
lassen wir es vorerst dabei. Wie man das elegant macht kommt später.

Mein "Lappsus" ist immer noch drin. Siehe Post von "Gast".
OnTimer0/1 schaltet nicht den Interrupt ein! Es sagt nur wohin gesprungen werden soll wenn der Interrupt denn eingeschaltet, freigegeben und aufgetreten ist.

Dann wird Deine Frequenz doch sicher > 65kHz werden. Wolltest Du nicht bis zu 1-2 MHz messen?

Was passiert wenn Du zu einer Byte-Variablen 256 dazu addierst?

Eine Interrupt Routine wird nur und immer nur mit Return verlassen (ultra wichtig!) . Man springt NIEMALS mit einem Goto aus einer Interupt Routine.
Hintergrund: der µC speichert die Stelle im Programm, von dem aus er in die Interrupt-Routine gesprungen ist auf dem Stack. Dort schaut er beim Return auch nach, wohin er zurück springen soll und löscht dann den Eintrag im Stack wieder. Wenn Du mit einem GOTO aus der Interrupt Routine springst, werden die Daten auf dem Stack nicht gelöscht. Der Stack belegt immer mehr Speicher und irgendwann überschreibt er den vom Programm genutzten Speicher. Das Ergebnis ist, der µC hängt sich auf.


So, kann Montag werden bis ich wieder online bin. Vielleicht auch mal kurz irgendwann am Wochenende. Weiß ich noch nicht.

Ciao,
Werner