da mein Programmcode sehr lang geworden ist will ich diesen hier lieber nicht posten aber ich erkläre mal was ich mache.

Über waitkey warte ich auf das das zu empfangende Zeichen.
Es empfängt eine 1 und soll dann einen Ausgang 1 auf high schalten.
Wenn es eine 2 empfängt dann soll der Ausgang 1 auf low schalten.
(Im Prinzip mache ich es schon so wie du vorgeschlagen hast)

Diese Befehle stecken nun in der do loop schleife.

Was mir aufgefallen ist :

wenn ich aus meiner do loop schleife waitms 40 entferne dann wird der Ausgang überhaupt nicht mehr geschalten bleibt die Wartezeit aber darin dann sehe ich den Ausgang nur für 40ms auf high.

Ich habe zum testen dann mal eine simple schleife nachgebaut die das Problem verdeutlicht :

do
toggle port x.x
waitms 40
loop

Hier blinkt der Ausgang/LED permanent im 40ms Takt. Wenn ich den waitms befehl rausnehme wird der Port permanent auf High gehalten.

Ich halte das ganze für ziemlich unlogisch oder ergibt das für dich ein Sinn ?


Gruß
Steffen