Hallo!
Wie kann ich in CodeVision ein LCD anschließen an einen 4433?
Ich möchte sowohl den ext. Interrupt 0, als auch das UART nutzen.
CodeVision lässt das LCD aber nur an PortD anschließen.
Gibt es eine Möglichkeit das zu ändern, oder muss ich dann die von
CodeVision programmierten Funktionen abändern?
Vielen Dank!
Steffen
ich fürchte, es geht nur durch (aufwendige) umschreibung der
lcd.lib...werf' mal einen blick da und du wirst es sehen...das gefällt
mir an cvavr auch nicht, auch die sinnlose belegung der r/w leitung, wo
andere mit nur 6 pins auskommen...:(((
Hallo Steffen!
Hatte auch das Problem.
Im Anhang findest du ne .lib die mit 6 Pins auskommt.
Dafür kannst du nichts vom LCD lesen aber das scheint mir eher
unwichtig.
mfg Chris!!
Hallo Chris!
Echt super! Ich werds morgen gleich austesten.
Dass man vom LCD nichts lesen kann stört mich überhaupt nicht - hatte
ich sowieso nicht vor.
In welcher Reihenfolge müssen die Pins des LCD an den PORT?
Danke vielmals!
Grüße
Steffen
hey chris,
das ist genau das, wonach ich auch gesucht habe;
sehr nett von dir, dass du die .lib datei hier
postest.
recht herzlichen dank!
@steffen:
die reihenfolge ist (glaube ich):
db0=pin.0 ,..., db3=pin3, rs=pin.4, en=pin.5
Hab grade mal im Datasheet vom HD44780 Controller nachgeschaut.
Auf Seite 9 steht: 'DB0 to DB3: [..] These pins are not used during
4-bit operation.'
Also müsste das folgendes bedeuten:
Pin 0 = DB4
Pin 1 = DB5
Pin 2 = DB6
Pin 3 = DB7
Pin 4 = RS
Pin 5 = EN
Ist das korrekt so?
Hallo Chris,
ich hab grade versucht, deine Library zu verwenden, aber ich benötige
noch die passende Header Datei dazu! Kannst du die bitte ins Forum
stellen?
Vielen Dank
Steffen
Hi Steffen,
sorry für den Fehler, natürlich hast Du Recht, es müssen doch db4-db7
verwendet werden;
habe es aus Versehen geschrieben, Chris hat wohl automatisch betstätigt
:))
@emil: kein problem!
@all: vielleicht kann mir sonst jemand noch erkläern, wie ich die
Library in Codevision einfügen kann. Meiner Meinung brauch ich dazu
eine Header Datei, oder?
Grüße
Steffen
hi steffen,
habe es zwar noch nicht ausprobiert, obwohl pcb schon in arbeit ist, am
wochenende wüsste ich es bescheid; habe auf jeden fall vor, die
headerdatei im anhang zu verwenden, die ist doch einfach eine ableitung
der funktionsnamen aus der mylcd.lib; hoffe, es klappt damit; sag bitte
bescheid, wenn du sie ausprobierst.
emil
Hallo emil,
danke für deine Antwort!
Ich habs grade probiert. Beim kompilieren tritt der Fehler auf:
'Error in library: E:\CAVR\mylcd.lib'
Line: 21, multiple declaration for 'lcd_e_toggle'
Hast du vielleicht Email oder ICQ. Würde mich freuen, wenn wir das
schnell lösen könnten´, damit ich weiterarbeiten kann ;-)
Meine Mail: steffen.burr@rfds.net
Danke!
Steffen
Ok, ich hab die Fehler in deiner Header Datei gefunden und behoben.
Sollte jetzt eigentlich gehen. Ich werds gleich mal versuchen und mich
dann melden!
Grüße
Steffen
Ok, kompilieren tut ers jetzt. Aber ausgeben tut er am Display leider
nix. Hab vor der Hauptschleife mal geschrieben:
lcd_init();
lcd_clear();
while (1)
{
// Place your code here
lcd_putchar("R");
};
Das Display zeigt aber immer noch zwei Streifen an.
Ich hab in der MyLCD.lib den PORT auf PORT A gestellt, an dem auch mein
LCD hängt ...
Irgendwelche Ideen?
Grüße
Steffen
@ CHRIS:
Deine Library funktioniert bei mir leider nicht. Bitte melde dich mal
bei mir per email (steffen.burr@rfds.net). Das wäre echt nett !!
DANKE !
Steffen
Hi Chris & Steffen,
habe heute versucht, das LCD mithilfe der mylcd.lib zum Laufen zu
bringen; leider genau das selbe Ergebnis wie Steffen-schwarze Balken
/keine Initialisierung...:((
Das Blöde dran ist, dass die mylcd.lib eine exakte Übersetzung
(asm->c) des LCD Beispiels im Tutorial von Andreas ist, habe beide
ziemlich lang verglichen...und das (asm) Beispiel von Andreas
funktioniert schon, habe ich auch getestet...
Also, woran kann das liegen, hat jemand Rat/parat :))) ? Wäre doch
schön, mit nur 6 statt 7 Portpins auszukommen...
Grüss,
Emil