Hallo,
ich habe da mal ein kleines Programm mit LED's geschrieben und dabei incr benutzt. 
Nur arbeitet das Programm nicht alles nacheinander ab, sondern abwechselnd, bin mir sicher, dass es an den < und > liegt
Hier mein Programm:
	Code:
	  $regfile = "m32def.dat"
 ' $framesize = 32
  '$swstack = 32
  '$hwstack = 32
  $crystal = 16000000
  $baud = 9600
'--------LED-----------
Config Porta = Output
'--------Taster--------
Config Pinb.0 = Input
Portb.0 = 1
Declare Sub Lauflicht
Declare Sub Allean
Declare Sub Nacheinander
Declare Sub Startrek
Dim Anzahl As Byte
Do
   If Pinb.0 = 1 Then
Incr Anzahl
If Anzahl < 25 Then Gosub Lauflicht
If Anzahl > 25 Then Gosub Allean
If Anzahl > 50 Then Gosub Nacheinander
If Anzahl < 50 Then Gosub Startrek
If Anzahl = 75 Then Anzahl = 0
End If
Loop
Sub Startrek
   Print "Star Trek"
   Porta.0 = 1
   Porta.6 = 1
   Waitms 150
   Porta.0 = 0
   Porta.6 = 0
   Porta.1 = 1
   Porta.5 = 1
   Waitms 150
   Porta.1 = 0
   Porta.5 = 0
   Porta.2 = 1
   Porta.4 = 1
   Waitms 150
   Porta.4 = 0
   Porta.2 = 0
   Porta.3 = 1
   Waitms 150
   Porta.3 = 0
   Waitms 150
   End Sub
   Return
Sub Lauflicht
   Print "Lauflicht"
   Porta.0 = 1
   Waitms 40
   Porta.0 = 0
   Porta.1 = 1
   Waitms 40
   Porta.1 = 0
   Porta.2 = 1
   Waitms 40
   Porta.2 = 0
   Porta.3 = 1
   Waitms 40
   Porta.3 = 0
   Porta.4 = 1
   Waitms 40
   Porta.4 = 0
   Porta.5 = 1
   Waitms 40
   Porta.5 = 0
   Porta.6 = 1
   Waitms 40
   Porta.6 = 0
   Porta.5 = 1
   Waitms 40
   Porta.5 = 0
   Porta.4 = 1
   Waitms 40
   Porta.4 = 0
   Porta.3 = 1
   Waitms 40
   Porta.3 = 0
   Porta.2 = 1
   Waitms 40
   Porta.2 = 0
   Porta.1 = 1
   Waitms 40
   Porta.1 = 0
   End Sub
   Return
Sub Allean
   Print "alle an"
   Porta.0 = 1
   Porta.1 = 1
   Porta.2 = 1
   Porta.3 = 1
   Porta.4 = 1
   Porta.5 = 1
   Porta.6 = 1
   Waitms 250
   End Sub
   Return
Sub Nacheinander
       Print "1.Led "
       Porta.0 = 1
       Porta.1 = 0
       Porta.2 = 0
       Porta.3 = 0
       Porta.4 = 0
       Porta.5 = 0
       Porta.6 = 0
       Waitms 100
       Print "2.Led "
       Porta.0 = 0
       Porta.1 = 1
       Porta.2 = 0
       Porta.3 = 0
       Porta.4 = 0
       Porta.5 = 0
       Porta.6 = 0
       Waitms 100
       Print "3.Led "
       Porta.0 = 0
       Porta.1 = 0
       Porta.2 = 1
       Porta.3 = 0
       Porta.4 = 0
       Porta.5 = 0
       Porta.6 = 0
       Waitms 100
       Print "4.Led "
       Porta.0 = 0
       Porta.1 = 0
       Porta.2 = 0
       Porta.3 = 1
       Porta.4 = 0
       Porta.5 = 0
       Porta.6 = 0
       Waitms 100
       Print "5.Led "
       Porta.0 = 0
       Porta.1 = 0
       Porta.2 = 0
       Porta.3 = 0
       Porta.4 = 1
       Porta.5 = 0
       Porta.6 = 0
       Waitms 100
       Print "6.Led "
       Porta.0 = 0
       Porta.1 = 0
       Porta.2 = 0
       Porta.3 = 0
       Porta.4 = 0
       Porta.5 = 1
       Porta.6 = 0
       Waitms 100
       Print "7.Led "
       Porta.0 = 0
       Porta.1 = 0
       Porta.2 = 0
       Porta.3 = 0
       Porta.4 = 0
       Porta.5 = 0
       Porta.6 = 1
       Waitms 100
       End Sub
       Return
End
 Ich habe es auch mit versch. incr versucht, aber das gleiche Problem erhalten:
	Code:
	Declare Sub Lauflicht
Declare Sub Allean
Declare Sub Nacheinander
Declare Sub Startrek
Dim A As Byte
Dim B As Byte
Dim C As Byte
Dim D As Byte
Do
   If Pinb.0 = 1 Then
Incr A
If A < 10 Then Gosub Lauflicht
Incr B
If B < 10 Then Gosub Allean
Incr C
If C < 10 Then Gosub Nacheinander
Incr D
If D < 10 Then Gosub Startrek
 Habt ihr Lösungsvorschläge oder Tipps, was ich falsch gemacht habe, bin echt dankbar.
Ich bekomme es nicht hin, dass das Unterprogramm "Nacheinander" hinter dem "Allean" und dahinter "Startrek" wirklich abgeschlossen für sich läuft.
Das einzigste gute daran: unkontrolliertes Software Multitasking, aber Multitasking  
						
					
Lesezeichen