Hi!
wie gesagt, es lag daran, dass ich die Zeile: Waitms 100 initLCD vergessen hatte.
Irgendwie funktioniert jetzt alles ohne zu ruckeln oder irgendetwas.
Es muss daran gelegen haben.
Timo
Druckbare Version
Hi!
wie gesagt, es lag daran, dass ich die Zeile: Waitms 100 initLCD vergessen hatte.
Irgendwie funktioniert jetzt alles ohne zu ruckeln oder irgendetwas.
Es muss daran gelegen haben.
Timo
Hi!
wollte das Thema mit dem letzten Satz nicht schließen ;-)
Ich habe folgenden Code in Bascom eingegeben:
Declare Sub Lcd1()
Declare Sub Lcd2()
$regfile = "m8def.dat"
$crystal = 16000000
Config Pind.6 = Output
Portd.6 = 0
Config Pinc.0 = Input
Portc.0 = 1
Config Lcdpin = Pin , E = Portc.3 , Rs = Portc.2 , Db4 = Portd.2 , Db5 = Portd.3 , Db6 = Portd.4 , Db7 = Portd.5
Config Lcd = 16 * 4
Waitms 100
Initlcd
Cls
Locate 1 , 1
Lcd "Willkommen"
Wait 2
If Pinc.0 = 1 Then
Call Lcd2
Else
Call Lcd1
End If
End 'ab hier ist Ende ???????!!!!!!
Sub Lcd1()
Cls
Locate 1 , 1
Lcd "taste gedrueckt"
End Sub
Sub Lcd2()
Cls
Locate 1 , 1
Lcd "Taste nicht"
Locate 2 , 1
Lcd "gedrueckt"
End Sub
---------------------------------------
Er soll bezwecken, dass erst 2 sekunden lang ein "Willkommen" erscheint und danach über das LCD angezeigt wird ob ein taster gedrückt ist oder nicht.
Jetzt spinnt wieder alles rum sobald ich das "End" weglasse (im Code markiert).
Lasse ich das "End" weg dann springt die Anzeige wieder. Wenn ich das "End" schreibe, dann ist nach 2 sekunden schluss.
Wie müsste das Programm jetzt ungefähr aussehen? Mache ich einen großen Fehler?
mfg
Timo
Wie wäre es, wenn du das:
If Pinc.0 = 1 Then
Call Lcd2
Else
Call Lcd1
End If
in eine Do-Loop-Schleife setzt?
Also so:
Do
If Pinc.0 = 1 Then
Call Lcd2
Else
Call Lcd1
End If
Loop
jon
Hi!
dann geht es zwar aber die Schrift Blinkt, bzw. flackert.
wie macht ihr denn das?
Timo
Ein waitms xyz einfügen.
jon
hi!
sorry aber ich kapier das grad nicht. :)
vielelicht kannst du ja mal ein kleines Beispiel einfügen. Das wäre sehr nett.
mfg
Timo
Den Do-Loop Teil also so:
Do
waitms 100
If Pinc.0 = 1 Then
Call Lcd2
Else
Call Lcd1
End If
Loop
In diesen 100ms darfst du zwar keinen Tster drücken, aber in dieser Zeit kannst du den Taster nicht lolassen.
Wenn das nichts hilft, setzte vor die beiden "end sub" die "waitms 100".
jon
hi!
Es geht zwar prinzipiell wenn ich alles in eine Do Loop schleife reinpacke aber die Schrift flackert noch und die eine LED von portd.4 flackert im 100ms takt genauso wie die schrift.
Das kann ja irgendwie auch nicht richtig sein alles in eine do loop-schleife zu schreiben?!
Wie macht ihr das denn, wenn man auf Tastendruck einen anderen Text bekommen will als wenn der taster nicht gedrückt ist.
Habt ihr zufällig ein Beispiel? Ich versuche ja gerade das Beispielprogramm von RN Wissen zu verstehen, wie die das da machen. Nur irgendwie erscheint mir das ganz schön schwierig?!
mfg
Timo