Wieviele Bildschirme voller Fehlermeldungen spuckt Bascom denn aus, wenn Du versuchst diesen Code zu kompiliern?
Fangen wir mal oben an:
Config PORTD.2 AS Output dürfte Bascom nicht verstehen. Es muss heißen Config PORTD.2 = Output.
Gleiches gilt für Config Pind.5 As Input - Config PIND.5 = Input wäre korrekt. Ist aber überflüssig, weil alle I/O-Ports nach dem Einschalt-Reset ohnehin als Eingänge konfiguriert sind.
Enable Timer0
Enable Interrupts
Ist zwar von der Syntax her richtig, aber ebenfalls unnötig, da Du ja nicht mit Timer-Interrupts arbeitest.
Timer0 = C
führt nur dazu, dass Timer0 den Wert der Variablen C annimmt (hier also 0). Sowas wie die Alias-Funktion ist das aber nicht!
Stop C funktioniert daher nicht, und müsste die nächste Fehlermeldung produzieren. Hier musst Du start timer0 bzw. stop timer0 verwenden.
Die Hauptschleife versteh´ ich zwar nicht so ganz, aber eines ist klar: Auch wenn Du das "C" durch timer0 ersetzen würdest, würde der Timer immer wieder am Anfang der Hauptschleife auf 0 gesetzt werden. Das heißt, er kann gar nicht hochzählen!
Und in der Subroutine hast Du oft eine Reihe von IFs, die nur mit einem End if abgeschlossen werden. Das geht auch nicht - für jedes If muss ein End if kommen!
Wie wär´s denn, wenn Du vielleicht erstmal mit einem etwas einfacheren Projekt erste Gehversuche unternimmst? Ich weiß - ich war am Anfang auch schrecklich ungeduldig und wollte gleich alles auf einmal machen - aber so ganz ohne minimale Kenntnisse was die Syntax und den Aufbau von Bascom anbetrifft, kommt man halt meistens überhaupt zu nix...
Und Du wirst sehen - wenn Dir die "Basics" erstmal geläufig sind (z.B. wie ein Interrupt funktioniert, wie man Timer konfiguriert etc., etc) geht der Rest wie von alleine! Und: Hier wirst Du immer geholfen
Lesezeichen