Hallo Leute,

ich stehe völlig auf dem Schlauch, vielleicht hat jemand eine Idee...

Es sollen abhängig von hereinkommenden Daten Portpins gesetzt und nach einer definierten Zeit wieder zurückgesetzt werden.
Die Pins sind mittels der ALIAS Funktion zugewiesen (aus Verdrahtungsgründen sind die Pins stark vermischt), hier K1-K20.
Hat z.B. die Variable "Daten" den Inhalt 4 soll K4 gesetzt werden, nach 500ms wieder rückgesetzt.
Leider kann ich die Variable nicht direkt für das setzen verwenden da SET nicht mit Variablen zusammen spielt, deshalb die SELECT CASE Kette.
Geht das nicht einfacher???
Nun aber das eigentliche Problem: Wie kann man das Rücksetzen nach einer (am besten per Variable) definierten Zeit Interruptgesteuert erledigen.
Es können nämlich bei weiteren Durchläufen weitere Portpins gesetzt werden z.B. K3 nach 100ms K5 nach 220ms K18 nach xxxms usw.. Rückgesetzt soll aber nach je (ca.) 500ms werden. Timer kann verwendet werden, der ist frei. Ich habe einfach keine brauchbare Idee ausser 20 Hilfsvariablen mitzusetzen (500ms) und im Timerinterrupt Millisekundenweise runterzuzählen. Die muss ich dann aber alle immer wieder prüfen und bei Null den entsprechenden Port rücksetzen.
Geht das nicht einfacher???

Hier mal ein Stück Code zur Veranschaulichung der gewünschten Funktion. So funktioniert das natürlich nicht da Wait ja alles anhält.

Code:
Do
...
Daten holen
...
  Select Case Daten                                         'Daten decodieren
    Case 1
     Set K1
     Waitms 500
     Reset K1                                             
    Case 2:
     Set K2
     Waitms 500
     Reset K2
...
    Case 20
     Set K20
     Waitms 500
     Reset K20
   End Select
...
Loop
Ich wäre für jede neue Idee sehr dankbar, Danke und tschüss sagt
Evi