Weil ich dachte, im 4-bit Modus werden die ersten 4 Datenleitungen verwendet.
Ähmm... steht doch klipp und klar da, welcher Port für welchen Pin zuständig ist.Zitat von ShadowPhoenix
Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3
Durch welche spaßige Überlegung bist Du denn auf Deine Lösung gekommen?
Grüße
Henrik
Weil ich dachte, im 4-bit Modus werden die ersten 4 Datenleitungen verwendet.
Hallo ShadowPhoenix,
Die Standarddefinitionen für das LCD stehen nicht in der Definitionsdatei, wie ich fälschlicherweise behauptet habe. Sie stehen in dem Fenster, das sich öfffnet, wenn du in Bascom Options-Compiler-LCD anklickst. Diese Daten nimmt der Compiler, wenn du im Programm die Pins nicht extra definierst. Wie du siehst, kann man E2 hier nicht einstellen. Das muss man immer im Programm machen. Die Daten im Fenster kannst du an deine Standardeinstellungen anpassen.
Bild hier
Bild hier
___lcdno=0 aktiviert den ersten Controller für die beiden oberen Zeilen
___lcdno=1 aktiviert den zweiten Controller für die beiden unteren Zeilen
Die beide Hälften der Anzeige werden praktisch wie zwei getrennte LCD-Anzeigen behandelt.
Die Hilfe, die in Bascom angezeigt wird, wenn man E2 als Suchwort eingibt, vergisst du besser, die verwirrt nur und das Programmbeispiel passt nicht zur aktuellen BASCOM-Version.
Ich hoffe, dass damit deine Verwirrung beendet ist.
felack
Und du bist dir sicher, das nur das eine E1 für's LCD übernommen wird? Idr ist es mit den Settings ja so, das wenn sie im Programm nicht extra angegeben werden, die Einstellungen übernommen werden, die in den Settings steht.
$Baud z.B. muss man in Programm nicht angeben. Sobald im Programm ein Print oder so steht wird (wenn im Programm nicht angegeben) die Einstellung der Compilersettings übernommen.
Gleiches wenn der Befehl CLS oder LCD oder LOCATE kommt. Ist das LCD im Programm nicht eingestellt, werden die Settings übernommen.
Aber warum sollte ein Teil einer Einstellung übernommen werden?
Mag sein, das es geht, aber ich kenn es mir nicht vorstellen. Es ist ja auch nur eine Frage.
Bascom hat auch extra eine LIB für CLS's mit zwei E-Leitungen. Im Sample-Ordner steht mehr dazu.
Und das Pollin-Display ist ja ein alt bekanntes. Spätestens die Suchfunktion bringt einen Code der funktioniert.
PS: Zwei Zeilen leuchten dauerhaft nach anlegen der Spannung (sofern der Kontrast richtig eingestellt ist) Das ist Poweron-default.
Nach CLS verschwinden die.
Das CLS mss auch nicht extra geschrieben werden zu Anfang des Programms. Sobald der erste LCD-Befehl kommt und kein CLS ausgeführt wurde, wird das automatisch von Bascom eingefügt (im Assemblercode, nicht im Basiccode)
Hallo Marco,
es gibt in Compiler-Options kein Feld wo man den Pin für E2 eingeben kann. Deshalb muß es immer angegeben werden.
Wie oben schon geschrieben, kannst du die Samples vergessen, die LIB, die da angegeben ist, ist zumindest bei mir nicht beim Programm dabei.
Außerdem sind die Variablenbezeichnungen falsch.
Die Funktionen wurden wahrscheinlich nachträglich ins Programm eingebaut und die Hilfe dann nicht mehr geändert.
felack
Ich glaube, du hast nicht verstanden, was ichmeinte. Das E2 angegeben werden muss, ist klar. Aber das man E(1) weglassen kann, kann ich mir nicht vorstellen.
lcd4e2.LBX
lcdcustom4bit2e.bas
Diese beiden Dateien sollten in der Demo dabei sein.
Oh, danke, werde ich bei Gelegenheit ausprobieren!
Also Enable steht in den Optionen für "E1", und E2 schreib ich noch selber in den Code...
Nun gut, wenn ich dann auf "OK" klicke im Bascom, kommt nur:
"There is no default printer currently selected"
Und die EInstellungen werden nicht gespeichert, weil immer diese Meldung kommt. Das nervt sehr, wozu braucht man denn einen Standarddrucker? :O
Noch was, könnte man im Code nicht "Config Lcd = 40 * 4" weglassen?
In den Optionen wird das ja schon definiert...
MfG,
ShadowPhoenix
Das glaube ich schon eher das es klappen würde. Es ist ja eine eigenständige Befehlszeile. Aber das "* 4" kann man sicherlich nicht weglassen (also so, das da nur noch "Config LCD = 40" steht). Das wäre ja wie E1 in der Zeile Config LCDPIN weglassen.Noch was, könnte man im Code nicht "Config Lcd = 40 * 4" weglassen?
In den Optionen wird das ja schon definiert...
Es tut ja aber auch nicht weh, wenn einer installiert ist. In word geht die Seitenansicht auch nur, wenn ein Drucker installiert ist. Ist nunmal so. Es wird Gründe haben.Das nervt sehr, wozu braucht man denn einen Standarddrucker? :O
Meine Theorie dazu habe ich ja gesagt. Viel Glück...Also Enable steht in den Optionen für "E1", und E2 schreib ich noch selber in den Code...
Marco, ich wollte doch nicht "* 4" weglasse, ich meinte den gesamten Satz. (Wird ja wiegesagt in den Optionen schon angegeben).
Habe zur Not irgendeinen Drucker vorinstalliert :O
Funktioniert jetzt...
Ich wollte doch nur wissen, ob Enable dasselbe wie E1 ist, damit ich nichts falsch verbinde...
Enable ist im Prinzip E1.
Sorry, "Aber nur das ...Aber das "* 4" kann man sicherlich nicht weglassen (also so, das da nur noch "Config LCD = 40" steht). Das wäre ja wie E1 in der Zeile Config LCDPIN weglassen.
Ich habe verstanden, das du die ganze Zeile weglassen willst. Aber in einer anderen Zeile soll nur E weggelassen werden. Das wäre als ob man das * 4 weglassen würde.
Lesezeichen