Hallo Teslanikola

no, ich hab kein ICQ.

Also bei mir funktioniert Dein Code bis auf die immer noch eingebauten offensichtlichen Fehler. Die haben aber nichts mit der prinzipiellen Funktion zu tun.

Überlauf Timer0 springt nach test1: und erhöht Var1.
Wenn Var1 = 39, dann wird Freq berechnet und die Timer neu gestartet.
Anschließend verabschiedet sich der Controller ins Nirvana, was zwar nicht OK ist, aber bei dem 2. Return innerhalb der IF-Schleife normal seien dürfte.

Überlauf Timer1 springt nach Test2: und erhöht Var2 um 2^16.

Soweit alles OK.


Was nicht funktioniert ist das Zählen der externen Impulse mit Timer1.
Zum einen könnte das daran liegen, daß Du den Counter-Eingang von Timer1 nicht als Eingang definierst. Dann gehst Du hin und toggelst den Pin auch noch in Deiner Interrupt Routine. (Warum überhaupt?)

Wenn ich beides ändere, dann gehts aber trotzdem nicht. In der Zeile "config Timer1..." könnte noch der Eintrag zum Prescale fehlen. Ob Bascom den zwingend braucht weiß ich aber nicht. Den eingesetzt ergibt aber auch keine Änderung.

Sprich es sind mehrer Fehler drin und mindestens einen davon sehe oder verstehe ich im Moment auch nicht.

Ciao,
Werner