Mr-400-Volt
15.04.2007, 20:20
Hallo, ich habe mit Bascom ein Programm zur DDS-Steuerung geschrieben. In dem Programm werden mehrer Unterprogramme aufgerufen, wo zuvor der Cursor für die LCD-Ausgabe mit "Cursor Noblink" abgeschaltet wird. Vor dem rücksprung schalte ich den Cursor mit "Cursor Blink" wider an. Die prozedur ist bei allen unterprogrammen die gleiche, nur von einem bleibt der Cursor komischerweise aus. Könnte mir da bitte jemand helfen ????
Danke !!!
.
.
...........Das ist die abfrage.............
.
.
Einstellen:
Waitms 100
Locate 1 , 1
Lcd "(1) - Festfrequenzen"
Locate 2 , 1
Lcd "(2) - Schrittweite"
Locate 3 , 1
Lcd "(3) - Buzzer"
If Wert(8) > 3 Then Wert(8) = 1
If Wert(8) < 1 Then Wert(8) = 3
Locate Wert(8) , 2
If Enter = 0 Then
If So = 1 Then Gosub Beep
If Wert(8) = 1 Then
Cls
Gosub Warte
Cursor Noblink
Stelle = 8
Wert(8) = 1
Goto Fest
End If
If Wert(8) = 2 Then
Stelle = 8
Wert(8) = Sw
Cursor Noblink
Cls
Gosub Warte
Goto Sweite
End If
If Wert(8) = 3 Then
Stelle = 8
Wert(8) = 1
Cursor Noblink
Cls
Gosub Warte
Goto Buzzer
End If
End If
If _exit = 0 Then
If So = 1 Then Gosub Beep
Cls
Locate 1 , 3
Lcd "Save to EEprom ?"
Locate 2 , 1
Lcd "Left-No / Right-Yes"
Do
If Links = 0 Then
If So = 1 Then Gosub Beep
Cls
Wert(8) = 4
Goto Main
End If
If Rechts = 0 Then
If So = 1 Then Gosub Beep
Locate 3 , 1
Lcd "Save Data to EEprom!"
Dummy = 0
Swe = Sw
Soe = So
For X = 1 To 9
Ffeste(x) = Ffest(x)
Next X
Wait 1
Wert(8) = 4
Goto Main
End If
Loop
End If
Goto Einstellen
.
.
.
.
.
.
.
Buzzer:
Waitms 60
Locate 1 , 1
Lcd "-------Buzzer-------"
If Wert(8) < 1 Then Wert(8) = 1
If Wert(8) > 2 Then Wert(8) = 2
If Wert(8) = 1 Then
Locate 2 , 6
Lcd "Buzzer on "
So = 1
End If
If Wert(8) = 2 Then
Locate 2 , 6
Lcd "Buzzer off"
So = 0
End If
If _exit = 0 Then
If So = 1 Then Gosub Beep
Cls
Gosub Warte
Wert(8) = 3
Cursor Blink ----------der bleibt aus-------------
Goto Einstellen
End If
Goto Buzzer
Danke !!!
.
.
...........Das ist die abfrage.............
.
.
Einstellen:
Waitms 100
Locate 1 , 1
Lcd "(1) - Festfrequenzen"
Locate 2 , 1
Lcd "(2) - Schrittweite"
Locate 3 , 1
Lcd "(3) - Buzzer"
If Wert(8) > 3 Then Wert(8) = 1
If Wert(8) < 1 Then Wert(8) = 3
Locate Wert(8) , 2
If Enter = 0 Then
If So = 1 Then Gosub Beep
If Wert(8) = 1 Then
Cls
Gosub Warte
Cursor Noblink
Stelle = 8
Wert(8) = 1
Goto Fest
End If
If Wert(8) = 2 Then
Stelle = 8
Wert(8) = Sw
Cursor Noblink
Cls
Gosub Warte
Goto Sweite
End If
If Wert(8) = 3 Then
Stelle = 8
Wert(8) = 1
Cursor Noblink
Cls
Gosub Warte
Goto Buzzer
End If
End If
If _exit = 0 Then
If So = 1 Then Gosub Beep
Cls
Locate 1 , 3
Lcd "Save to EEprom ?"
Locate 2 , 1
Lcd "Left-No / Right-Yes"
Do
If Links = 0 Then
If So = 1 Then Gosub Beep
Cls
Wert(8) = 4
Goto Main
End If
If Rechts = 0 Then
If So = 1 Then Gosub Beep
Locate 3 , 1
Lcd "Save Data to EEprom!"
Dummy = 0
Swe = Sw
Soe = So
For X = 1 To 9
Ffeste(x) = Ffest(x)
Next X
Wait 1
Wert(8) = 4
Goto Main
End If
Loop
End If
Goto Einstellen
.
.
.
.
.
.
.
Buzzer:
Waitms 60
Locate 1 , 1
Lcd "-------Buzzer-------"
If Wert(8) < 1 Then Wert(8) = 1
If Wert(8) > 2 Then Wert(8) = 2
If Wert(8) = 1 Then
Locate 2 , 6
Lcd "Buzzer on "
So = 1
End If
If Wert(8) = 2 Then
Locate 2 , 6
Lcd "Buzzer off"
So = 0
End If
If _exit = 0 Then
If So = 1 Then Gosub Beep
Cls
Gosub Warte
Wert(8) = 3
Cursor Blink ----------der bleibt aus-------------
Goto Einstellen
End If
Goto Buzzer