PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit einer Schleifeprogramierung



strunz
17.10.2006, 10:38
Hallo Leute,

ich habe ein Problem mit einer Schleife. Ich versuche mit der Schleife die gewünschte Frequenz einzustellen (Taste_1 un Taste_2) Allesdings kann ich nur 13 Schritte hoch bzw. runter gehen, bevor der Controller sich resetet.

Kann mir einer erklären, woran das liegt?

Danke schon mal im voraus.



'+---------------------------------+
'| Startbildschirm & erste Auswahl |
'+---------------------------------+

Cls 'lösche LCD
Locate 1 , 1
Lcd "1-> Frequenz"
Locate 2 , 1
Lcd "2-> Puls/Pause"


Do
Debounce Taste_1 , 1 , Fstart , Sub
Debounce Taste_2 , 1 , Puls_start , Sub
Loop

'+---------------------+
'| Frequenz einstellen |
'+---------------------+

Fstart:
Cls
Locate 1 , 1
Lcd "Frequenz = Hz"
Locate 1 , 12
Lcd F
Locate 2 , 1
Lcd "UP OK DOWN"

Do
Debounce Taste_1 , 1 , Fup , Sub
Debounce Taste_2 , 1 , Fdown , Sub
Debounce Taste_ok , 1 , Fok , Sub
Loop


Fup:
F = F + 1
Waitms 15
Gosub Fstart

Fdown:
F = F - 1
If F <= 0 Then
F = 0
End If
Waitms 15
Gosub Fstart


P.S. das ist nur der relevante Ausschnitt des kompletten Codes.

PicNick
17.10.2006, 11:35
Du hast da eine wilde Mischung aus "Gosub" ohne "Return"


Fup:
F = F + 1
Waitms 15
Gosub Fstart
RETURN '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Fdown:
F = F - 1
If F <= 0 Then
F = 0
End If
Waitms 15
Gosub Fstart
RETURN '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

strunz
17.10.2006, 11:41
Danke für die Antwort, aber:
Ist es nicht egal ob ich da ein return hin setzte oder nicht? So weit kommt er doch garnicht! Er springt vorher schon zu fstart.

Korigiere mich bitte wenn ich unrecht habe.

Auf jeden fall liegt es nicht daran, das er nach 13 durchläufen resetet.