Der "PULSEIN"-Befehl gehört in die Hauptschleife ... sollte ja relativ oft abgefragt werden, da man sonst die Signale der Fernsteuerung nicht mitkriegt.
Habe mir Dein Programm mal angesehen. Sieht unnötig kompliziert aus .. hab' eine Weile gebraucht bis ich den Zusammenang der ganzen "Merker" einigermaßen verstanden hatte. Nebenbei wirst Du wohl, wenn Du diesen Programmierstil beibehältst, dezente Probleme mit dem Speicherplatz auf dem 2313 kriegen.
Als erstes solltest Du Dich von der Vorstellung verabschieden, ein Schieberegister "nachbauen" zu wollen. Damit bleibst Du weit unter den Möglichkeiten und ist bei Deinem Projekt auch nicht zweckdienlich.
Dein Projekt ist direkt prädestiniert für klare Strukturen.
Mal ein paar Zeilen "Pseudocode" um das Prinzip zu erklären:
Code:
'in dieser Schleife bleiben wir bis die Hölle einfriert (oder Batterie leer ^^)
Do
Lese Wert vom RC-Kanalpin ein (RC)
'Zahl .. ist jetzt egal bei diesem Beispiel
If RC < 100 Then 'Wenn RC kleiner 100
Alle Lampen aus
End IF
If RC >=100 And RC < 110 THEN 'RC zwischen 100 und 109
Lampe 1 An
Lampe 2 Aus
Lampe 3 Aus
End If
If RC >=110 And RC < 120 Then 'RC zwischen 110 und 119
Lampe 1 An
Lampe 2 An
Lampe 3 Aus
End If
If RC >=120 Then 'RC größer oder gleich 120
Lampe 1 An
Lampe 2 An
Lampe 3 An
End If
Loop
Das wars auch schon. Gibt zwar bedeutend elegantere Lösungen, aber die würden Dich jetzt wohl nur verwirren.
Der Vorteil, das immer alle Lampen ein/ausgeschalten werden in jeder "If/Then"-Verzweigung ist (auch wenns nach verschwendung aussieht), daß Du Dich nicht mehr darum kümmern musst, die Lampen noch irgendwie auszuschalten. Du bewegst einfach Deinen Schalter, Regler, was weis ich an der FS und bei jedem Wert wird die richtige Kombination ein bzw. ausgeschalten .. also nichts mit "wenn alles an ist schalte ich alles wieder rückwärts aus".
Lesezeichen