Hi,
ich bin hier am verzweifeln und ich hoffe ihr könnt mir helfen. Ich habe
ein Display Typ: HD44780 (2x16 Zeichen) gegen selbigen Typ mit 4x20
Zeichen getauscht. Software nicht angefasst und laut Datenblatt ist das
auch nicht nötig. Habe alle Daten (Spannungen, Pinnbelegungen) geprüft,
diese stimmen überein. Wie gesagt, so wie ich gelesen habe muss ich an
der Software nichts ändern.
(wenn ich das zweizeiler wieder anschließe funktioniert wieder alles)
Meine Frage nun:
Was mache ich falsch, wenn ich folgende Ausgabe auf dem 4-Zeiler
bekomme:
Zeile 1: XXXXXXXXXXXXXXXXXXXX
Zeile 2:
Zeile 3: XXXXXXXXXXXXXXXXXXXX
Zeile 4:
ein "X" repräsentiert ein komplett gefülltes Kästchen.
Ich erhalte auch keine "kryptischen Zeichen" etc.
Muss ich an der Software doch was ändern? (Ich finde in den
Datenblättern eigentlich keine Information dazu, mir gibt jedoch zu
bedenken, dass ich das Display in der Initialisierung als "ein" oder
"zwei" - zeiler konfigurieren muss. Ein "vierzeiler" existiert im zum
Display gehörigen Datenblatt nicht.)
Danke
Manfred G. schrieb:> Na sicher must du an der Software was ändern. Woher soll der> Controller> denn wissen, das er jetzt 4 Zeilen ansteuern kann.
er weis es noch nicht - aber er sollte doch eigentlich die zwei
bisherigen Zeilen beim neuen Display in die oberen beiden Zeilen
schreiben
Hi Thomas,
im Datenblatt zum Display steht etwas zur Adressierung der 4 Zeilen.
Wie von Manfred schon geschrieben, ist die Anzeige korrekt für das 2x 16
Zeichen Display.
Hi
>Was mache ich falsch, wenn ich folgende Ausgabe auf dem 4-Zeiler>bekomme:>Zeile 1: XXXXXXXXXXXXXXXXXXXX>Zeile 2:>Zeile 3: XXXXXXXXXXXXXXXXXXXX>Zeile 4:>ein "X" repräsentiert ein komplett gefülltes Kästchen.
Das Display ist nicht initialisiert.
MfG Spess
1. Der 44780 hat extra ein Bit, mit dem man ihn zwischen zwei und vier
Zeilen umschalten kann. Die schwarzen Blöcke kommen wahrscheinlich
davon.
2. Die Adressen der Zeilen sind im Displayspeicher nicht fortlaufend
angeordnet, sondern versetzt.
Hi
>1. Der 44780 hat extra ein Bit, mit dem man ihn zwischen zwei und vier>Zeilen umschalten kann. Die schwarzen Blöcke kommen wahrscheinlich>davon.
Stimmt nicht. Der HD44780 kann nur zwischen ein- und zweizeilig
umgeschaltet werden.
MfG Spess
ich verwende keine rückleitungen zum µc. und kann diese leider nicht
nachträglich anbringen.
für mich wäre interessant zu wissen, woher ihr diese information habt.
ich verwende folgendes db:
http://www.crystalfontz.com/controllers/Hitachi_HD44780.pdf
(link wurde mir vom händer mitgegeben)
ich lese dort auf seite 24/60 unter dem punkt "Initializing by Internal
Reset Circuit":
"2. Function set:
DL = 1; 8-bit interface data
N = 0; 1-line display <----- ?????!
F = 0; 5
×
8 dot character font"
>>ein "X" repräsentiert ein komplett gefülltes Kästchen.>>Das Display ist nicht initialisiert.
Was dann meist an einem falschen Timing für das
Display liegt.
holger schrieb:>>>ein "X" repräsentiert ein komplett gefülltes Kästchen.>>>>Das Display ist nicht initialisiert.>> Was dann meist an einem falschen Timing für das> Display liegt.
Ja. Möglicherweise kannst du das Display zum Leben erwecken, wenn du die
Wartezeiten ein wenig großzügiger gestaltest. Eventuell braucht das
4-zeilige Display nach Anlegen der Betriebsspannung länger zum
Hochfahren als das kleinere.
>alles beide wurde erfolglos versucht :(
Zeig doch mal deinen kompletten Code.
Dann gibst du mal an welchen uC du benutzt und mit
welchem Takt der läuft. Pinbelegung des LCD wäre dann
auch hilfreich.
Dann muss hier keiner raten.
Dann mach mal die Zeiten ein wenig länger.
Du kannst ruhig übertreiben. Bei der LCD Ansteuerung hast du es mit
Mindestzeiten zu tun. D.h. zum Beispiel der E-Puls muss eine gewisse
Mindestlänge haben, die sich im µs Bereich abspielt. Er darf aber ruhig
2 Stunden lang sein.
Dein LCD zeigt die Blöcke an. Das ist ein typisches Indiz dafür, dass es
nicht initialisiert. Und das ist wiederrum entweder ein
Verdrahtungsfehler oder ein Timingproblem (wenn es sich um im Prinzip
den gleichen Controller im LCD handelt). Ob das LCD auf 1 oder 2 Zeilig
initialisiert wird, ist dafür erst mal unerheblich. Dazu kommt es
nämlich gar nicht, denn sonst würde man die beiden Balkenreihen nicht
sehen.
lcd_befehl(0b00000110);//Kursor n. rechts, kein Display shift --> Entry Mode Set
9
lcd_befehl(0b00010100);//--> Cursor/Display Shift
10
lcd_befehl(0b00001100);//ein --> Display ein/aus
11
lcd_befehl(0b00000010);//--> Kursor zum Anfang
12
lcd_zeichen('a');
13
...
hat auf deinem 2-zeiligen LCD funktioniert?
Das glaub ich nicht. Niemals.
Da fehlt die Umschaltung in den 4 Bit Modus bzw. die ist
'auskommentiert'. Deswegen in Anführungszeichen, weil selbst dann die
Umschaltung nicht korrekt gemacht ist.
holger schrieb:> Deiner lcd_init () fehlt die Resetsequenz aus dem> HD44780 Datenblatt. Darum geht das nicht.>> Versuch mal die HEX Datei aus dem Anhang.
also mit der hex klappt es leider auch nicht :(
ausgabe unverändert...
was meinst du mit resetsequenz fehlt?
>> Versuch mal die HEX Datei aus dem Anhang.>>also mit der hex klappt es leider auch nicht :(>ausgabe unverändert...
Komisch. Mein Code funktioniert mit mindestens
20 verschiedenen Displays ohne Probleme.
Was hast du mit der RW Leitung gemacht?
Thomas schrieb:> was meinst du mit resetsequenz fehlt?
Steht, wie hier schon geschrieben wurde, im Datenblatt auf Seite 47: Du
musst nach dem ersten Warten dreimal einen bestimmten Befehl senden mit
entsprechender Wartezeit dazwischen. Erst dann kannst du mit deiner
Init-Routine weiter machen.
Allerdings solltest du zunächst an der Befehlsübertragung arbeiten,
damit auch das am Display ankommt, was ankommen soll.
Hallo Thomas,
es könnt noch was ganz anderes sein.
Ich arbeite viel mit diesen Displays und ab und zu geht auch mal eins
kaputt.
das Fehlerbild ist dann genau so (oder ähnlich) wie du es beschreibst:
Zeile 1: XXXXXXXXXXXXXXXXXXXX
Zeile 2:
Zeile 3: XXXXXXXXXXXXXXXXXXXX
Zeile 4:
Das mit der Umstellung von 2 auf 4 Stellen kommt ran, wenn Du überhaupt
eine Information anzeigen kannst. Dafür ist es erstmal egal ob die Zeile
stimmt.
Wenn Du sofort nach dem anlegen der Spannung immer nur Balken siehst ist
mit Sicherheit das Display kaputt.
hallo,
also mit der umstellung 2 auf 4 zeiler, habe ich inzwischen folgende
information gefunden:
4 zeiler sind zweizeiler, deren erste und dritte zeile zusammen die
erste ausmachen, und zeile 2 und 4 sind die zweite zeile.
einen display defekt schließe ich eigentlich aus, ich habe zwei displays
versucht --> zweimal das selbe resultat :(
kennt jemand eine gute lib, für 4x20 displays?
bitte keine lib für 2x19, etc. (expliziet 4x20 gesucht)
Winne Z. schrieb:> Wenn Du sofort nach dem anlegen der Spannung immer nur Balken siehst ist> mit Sicherheit das Display kaputt.
Blödsinn!
Dieses Bild zeigt jedes nicht initialisierte HD44780-Display.
(ich hab durch meine Arbeit an lcd4linux so viele verschiedene HD44780
(und andere) in der Hand gehabt, du kannst mir ruhig glauben)
Thomas schrieb:> kennt jemand eine gute lib, für 4x20 displays?> bitte keine lib für 2x19, etc. (expliziet 4x20 gesucht)
Peter Fleurys HD44780 Lib ist so gut, das man so etwas nicht mehr selber
machen muss:
http://homepage.hispeed.ch/peterfleury/avr-software.html#libs
Ist interruptfest, einfach auch auf exotische Pinbelegungen zu
konfigurieren und braucht selber auch nix ISR. Ich nehme nur noch die,
warum soll man das Rad neu erfinden?
Michael Reinelt schrieb:> Dieses Bild zeigt jedes nicht initialisierte HD44780-Display.
So isses. Man sollte sich eher Sorgen machen, wenn das Display keinen
Balken zeigt. Dann kann man nur noch hoffen, das es die falsche
Kontrasteinstellung ist.
moin - ich hab zwar erst 2 LCD's verbaut und das 2. hatte auch diese
Anzeige -> aber wie meisstens: think simple! ... am Kontrast gedreht und
alles ist gut lesbar! Auf 2 Zeilen muß er natürlich noch umstellen...
bud
Ich hab aber auch in den Datenblättern keinen Hinweis gefunden, wie man
ein 4-Zeiliges Display korrekt initialisiert. Ich hab nur das Bit
gefunden, mit dem man zwischen 1-zeilig und 2-zeilig umschaltet. Das Bit
für 4-zeilig kenn ich nicht.
Ich hab jedenfalls den Effekt - so ich mich richtig erinnere - dass das
Display erst in Zeile 1, dann in Zeile 3 weiterschreibt, dann in Zeile 2
und dann in Zeile 4 - ohne Positionierungsbefehle natürlich.
Das was aber bei der Initialisierung helfen sollte, dass man erstens mit
Google genau, präzise das zum Display passende Datenblatt sucht
(DEM....), und dann noch ähnliche Datenblätter sucht und schaut, was
ähnliche Module machen. Da gibt es kleine aber wichtige Unterschiede.
Ich verwende immer www.ribu.at und gehe dort auf die Optoelektronik, der
hat gute Links zu den Datenblättern. Es sind leider die
Initialisierungssequenzen nicht alle gleich.
Was mir auch geholfen hat: Oft ist nur der Kontrast ganz weit daneben.
Wenn ich mich richtig erinnere, ist die Spannung am Kontrast Pin eher
bei 0 Volt als bei 5Volt für gute Sicht.
Mario
Thomas schrieb:> zur info, es handelt sich um folgendes display:> http://www.amazon.de/Character-Display-HD44780-Controller-Blacklight/dp/B00CD2DKQO#productDescription>
Um es gleich vor weg zu sagen, ich habe keine Ahnung von C.
Habe mich jedoch auch schon mit solchen Sachen herumgeärgert.
Leider ist der Datenblattauszug bei Amazon schlecht zu lesen, aber
" Die hilfreichsten Kundenrezensionen " machen mich ein wenig stuzig.
Wieso redet der von *I²C* ?
Fully assembled and tested Serial LCD 20x4 Module
Und wieso ist in der Beschreibung von einem seriellem Modul die Rede ?
Bernd_Stein
Thomas schrieb:> Was stimmt mit der befehlsuebertragung denn nicht??
Du hast bei dem Bitshift das "=" vergessen und überträgst deshalb
zweimal dasselbe Nibble.
Das
1
Nibble<<4
ist eine sinnlose Aussage, was soll da passieren?
Was du meinst, ist:
1
Nibble<<=4
Damit schiebst du das untere Nibble ins obere.
Eigentlich sollte dir der Compiler das auch als Warnung ausgeben (Unused
value).
Mit dem Nibble hast du recht, danke für den Hinweiß.
Ist jedoch leider auch nicht der Fehler, ich hab das eigentlich
übergeben und zum zusammenkürzen fürs Forum ist der Fehler passiert.
Ausgebessert --> versucht --> immer noch das selbe.
Kontrast verdrehe ich jedesmal, da mir der Kontrasteffekt bekannt ist.
Peter Fleurys Lib werde ich nacher mal versuchen.
Ich muss dazu sagen, ich wollte das Teil selber schreiben, weil mit
Peter Fleurys Lib mit der restlichen Software der Speicher überschritten
wird.
Thomas schrieb:> Peter Fleurys Lib werde ich nacher mal versuchen.
Aber Achtung.
Der Fleury Code will eine Verbindung zum R/W Pin des LCD um das Busy
Waiting machen zu können.
Ist die nicht vorhanden, dann hängt der Code, weil er auf die
Rückmeldung vom LCD wartet, die nie kommt.
Ein weiterer Stolperstein könnte sein, dass die Pausen bei der
Initialisierung zu kurz sind. Reset- und Cursor-Home-Befehl benötigen
laut Datenblatt über 1,5ms zur Ausführung, die Wartezeit beträgt aber
nach der fallenden Flanke von e() nur 100µs.
Felix Pflaum schrieb:> Ein weiterer Stolperstein könnte sein, dass die Pausen bei der> Initialisierung zu kurz sind. Reset- und Cursor-Home-Befehl benötigen> laut Datenblatt über 1,5ms zur Ausführung, die Wartezeit beträgt aber> nach der fallenden Flanke von e() nur 100µs.
alles schon versucht... inzwischen hab ich ne wartezeit von 4ms nach
jedem befehl
Thomas schrieb:> Felix Pflaum schrieb:>> Ein weiterer Stolperstein könnte sein, dass die Pausen bei der>> Initialisierung zu kurz sind. Reset- und Cursor-Home-Befehl benötigen>> laut Datenblatt über 1,5ms zur Ausführung, die Wartezeit beträgt aber>> nach der fallenden Flanke von e() nur 100µs.>> alles schon versucht... inzwischen hab ich ne wartezeit von 4ms nach> jedem befehl
Solange du die Balken auf dem LCD hast, sind für dich nur die ersten
paar Befehle in der Init interessant. Ob das Clear richtig funktioniert
oder nicht, kommt später.
Die erste Initialisierung, das Umstellen auf 4 Bit Interface, das ist
der Knackpunkt momentan. Wenn das klappt, dann verschwinden auch die
Balken und man kann weiter sehen. Aber solange die Balken da sind, ist
alles weitere relativ uninteressant.
Fokus auf das zur Zeit Wesentliche!
Also nix mit I2C oder seriell.
Dann richtig anschließen, Datenblatt studieren und init-Routine richtig
implementieren. Tipps dazu gabs ja schon.
Unbedingt darauf achten, dass die Pins richtig beschaltet sind. Es gibt
zwar einen Quasi-Standard, aber ich hatte auch schon Displays mit
anderer Belegung.
Denb Anfang von Felix Pflaumes Init kannst du übrigens nicht nehmen.
Zum Umschalten auf den 4 Bit Modus kannst du die Funktion lcd_befehl
noch nicht benutzen.
AVR-GCC-Tutorial
Such nach LCD. Da gibt es einen weiterführenden Link mit Routinen.
kompilierungsfeher mit der lib von Peter Fleury:
In function `main':
prog.c:(.text+0x32): undefined reference to `lcd_init'
prog.c:(.text+0x3e): undefined reference to `lcd_clrscr'
prog.c:(.text+0x46): undefined reference to `lcd_puts'
prog.c:(.text+0x4e): undefined reference to `lcd_puts'
prog.c:(.text+0x56): undefined reference to `lcd_gotoxy'
prog.c:(.text+0x5c): undefined reference to `lcd_putc'
prog.c:(.text+0x66): undefined reference to `lcd_command'
prog.c:(.text+0x6e): undefined reference to `lcd_puts'
prog.c:(.text+0x76): undefined reference to `lcd_clrscr'
prog.c:(.text+0x7e): undefined reference to `lcd_puts_p'
prog.c:(.text+0x86): undefined reference to `lcd_puts_p'
prog.c:(.text+0x8c): undefined reference to `lcd_command'
prog.c:(.text+0x96): undefined reference to `lcd_command'
prog.c:(.text+0x9a): undefined reference to `lcd_clrscr'
prog.c:(.text+0xae): undefined reference to `lcd_puts'
prog.c:(.text+0xb6): undefined reference to `lcd_clrscr'
prog.c:(.text+0xbe): undefined reference to `lcd_puts'
prog.c:(.text+0xc4): undefined reference to `lcd_command'
prog.c:(.text+0xd0): undefined reference to `lcd_data'
prog.c:(.text+0xe4): undefined reference to `lcd_gotoxy'
prog.c:(.text+0xea): undefined reference to `lcd_putc'
prog.c:(.text+0xf0): undefined reference to `lcd_putc'
und das am beispielprogramm??
Das ist natürlich wahr, Karl-Heinz, ich habe übersehen, dass die
Funktion "lcd_befehl" erst nach der erfolgreichen Umschaltung auf den
4-bit-Modus funktionieren kann. Das kann der Grund dafür sein, dass die
Balken nicht verschwinden.
Die drei ersten Befehle und den Umschaltbefehl müsste man dann etwa so
umsetzen:
Thomas schrieb:> kompilierungsfeher mit der lib von Peter Fleury:>> ( jede menge 'undefined References' )>> und das am beispielprogramm??
Wie wäre es, wenn du das C-File mit dem Source Code der Routinen auch
mit ins Projekt aufnimmst (lcd.c)?
ein erstes lebenszeichen:
nun flackert das display kurz auf und statt jeder zweiten zeile sehe ich
nun die erste und dritte wie gehabt, und in zeile 2 und 4 die hälte von
oben nach unten je zeichen.
aktueller code:
1
#define F_CPU 16e6
2
3
//INCLUDEs
4
#include<avr/io.h>
5
#include<util/delay.h>
6
7
voidrs(uint8_twert)
8
{
9
if(wert==1)
10
PORTD|=(1<<PD3);//setzen
11
else
12
PORTD&=~(1<<PD3);//löschen
13
}
14
15
voide(void)
16
{
17
PORTD|=(1<<PD2);//setzen
18
_delay_ms(100);
19
PORTD&=~(1<<PD2);//löschen
20
_delay_ms(100);
21
}
22
23
voidvierBitBefehl(unsignedcharNibble)
24
{
25
unsignedcharhilf;
26
hilf=PORTD&0b00001111;
27
PORTD=(Nibble&0b11110000)|hilf;
28
_delay_us(100);
29
e();
30
Nibble=Nibble<<4;
31
hilf=PORTD&0b00001111;
32
PORTD=(Nibble&0b11110000)|hilf;
33
_delay_us(100);
34
e();
35
}
36
37
voidlcd_befehl(unsignedcharBefehl)
38
{
39
rs(0);
40
vierBitBefehl(Befehl);
41
_delay_ms(1);
42
}
43
44
voidlcd_zeichen(charZeichen)
45
{
46
rs(1);
47
vierBitBefehl(Zeichen);
48
_delay_ms(1);
49
}
50
51
voidlcd_clear(void)
52
{
53
lcd_befehl(0x01);//clear Display
54
_delay_ms(5);
55
lcd_befehl(0x02);//Cursor home
56
_delay_ms(5);
57
}
58
59
voidlcd_text(charText[])
60
{
61
unsignedintstelle=0;
62
while(Text[stelle]!='\0')// bis zum Textende
63
{
64
lcd_zeichen(Text[stelle]);// Textzeichen ausgeben
65
stelle++;// nächste Zeichen
66
}
67
}
68
69
voidzeile(uint8_tz)
70
{
71
switch(z)
72
{
73
case1:lcd_befehl(0x80+0x00);break;
74
case2:lcd_befehl(0x80+0x40);break;
75
case3:lcd_befehl(0x80+0x14);break;
76
case4:lcd_befehl(0x80+0x54);break;
77
}
78
}
79
80
81
voidlcd_init(void)
82
{
83
_delay_ms(1000);//nach dem Einschalten erst mal sehr lange warten
Harald Nagy schrieb:> Bist du sicher, dass es da keine Wackelkontakte gibt? Jumperkabel,> schlechtes Breadboard...
alles schon doppelt und dreifsch getauscht. ich bin mir sicher.
Lötpunkte wurden von mir auch nochmal erneuert.
Thomas schrieb:> nun flackert das display kurz auf und statt jeder zweiten zeile sehe ich> nun die erste und dritte wie gehabt, und in zeile 2 und 4 die hälte von> oben nach unten je zeichen.
Ähh wie? (kannst du das aufmalen?)
>_delay_ms(1000);//nach dem Einschalten erst mal sehr lange
4
>warten
5
>rs(0);
6
>lcd_befehl(0x30);//4 Leitungen
7
>_delay_ms(5);
8
>lcd_befehl(0x30);
9
>_delay_ms(5);
10
>lcd_befehl(0x30);
11
>_delay_ms(5);
12
>lcd_befehl(0x20);//Anzeige 4bit Modus
13
>
noch nicht ganz richtig.
Zur Umschaltung in den 4-Bit Modus kannst du lcd_befehl noch nicht
benutzen. lcd_befehl kann erst dann verwendet werden, wenn das LCD schon
im 4-Bit Modus ist. Nicht vorher.
Warum studierst du denn nicht endlich mal die Routinen in
AVR-GCC-Tutorial/LCD-Ansteuerung
da kann man das alles nämlich sehen, wenn man den Code mal aufmerksam
studiert.
Und man kann dort auch sehen, wie man die Sache mit den Konstanten lösen
kann, so dass man nicht dauernd mit Hex-Zahlen um sich werfen muss. Das
würde der Übersichtlichkeit sehr zuträglich sein, wenn man nicht mit
Datenblatt und viel Geduld umständlich eruieren müsste, was du
eigentlich bei der Hex-Zahlen Orgie
1
lcd_befehl(0x28);//Anzahl zwei Zeilen
2
lcd_befehl(0x0C);//Anzeige an, Cursor aus
3
lcd_clear();//Display leeren
4
lcd_befehl(0x06);//Schiebemodus
WIRKLICH eingestellt hast. Vielleicht stimmen deine Kommentare.
Vielleicht aber auch nicht. Kommentare sind Schall und Rauch. Die
Erfahrenen ignorieren sie bei der Fehlersuche sowieso meistens.
Du hast irgendwann mal geschrieben, dass du die Dinge lernen willst.
Gut. Dazu gehört auch, das man sich ansieht, wie andere gleichartige
Problemstellungen lösen. Das ist keine Schande, anderer Leute Code zu
studieren. Ganz im Gegenteil, kann man so eine Menge lernen.
Michael Reinelt schrieb:> Thomas schrieb:>> nun flackert das display kurz auf und statt jeder zweiten zeile sehe ich>> nun die erste und dritte wie gehabt, und in zeile 2 und 4 die hälte von>> oben nach unten je zeichen.>> Ähh wie? (kannst du das aufmalen?)
Ja bitte.
Die Beschreibung des Teils mit der Hälfte klingt sehr abenteuerlich.
Thomas schrieb:> Z1: XXXXXX..> Z2: """"""..> Z3: XXXXXX..> Z4: """"""..>> X = komplett gefüllt> " = nur oberer Teil gefüllt
'Nur oberer Teil gefüllt'. Muss man sich das so vorstellen, dass im 5*8
Pixelblock nur die oberen Pixelzeilen was anzeigen und die unteren
nicht? Du also von einem 'A' nur die obere Hälfte siehst?
Denn das kannst du nicht verstellen. In dem Fall hat dein LCD einen Hau
weg. Da gibt es irgendwo ein Kontaktproblem vom LCD-Glas zur Platine.
Karl Heinz schrieb:> 'Nur oberer Teil gefüllt'. Muss man sich das so vorstellen, dass im 5*8> Pixelblock nur die oberen Pixelzeilen was anzeigen und die unteren> nicht? Du also von einem 'A' nur die obere Hälfte siehst?
Vielleicht kann man das auf einem Foto besser sehen als auf einer
Zeichnung.
Karl Heinz schrieb:> Denn das kannst du nicht verstellen. In dem Fall hat dein LCD einen Hau> weg. Da gibt es irgendwo ein Kontaktproblem vom LCD-Glas zur Platine.
Falsch. Man kann einen 5x10 Font einstellen. Dies bedeutet allerdings,
dass er das Display noch im Einzeilenbetrieb betreibt und sein 2x16
Display auch nicht gelaufen haben kann.
Ich tippe hier auf eine Verarsche ...
Gruß
Jobst
Thomas schrieb:> und das am beispielprogramm??
Es gibt Leute, die setzten ein ganz minimales Grundwissen für die
Werkzeugbenutzung voraus. Bei C-Compilern offenbaren sich grobe Fehler
in Tiraden von Fehlermeldungen, beim Lötkolben in verbrannten Fingern.
@Thomas
Anbei ein Hexfile das funktionieren sollte.
Voraussetzung:
PortD wird verwendet und R/W ist auf Pin PD1 angeschlossen.
Grund: Es wird das sog. Bussyflag abgefragt und selbst definierte
Zeichen übertragen.
Danke für das Hex-File - jedoch benötige ich es nicht mehr - habe die
Displays zurückgeschickt und mir neue geholt. Diese funktionierten auf
Anhieb!!
Ich vermute einen serienfehler!
"Ich tippe hier auf eine Verarsche ..." traurig solche Antworten zu
lesen wenn man ernsthaft Hilfe sucht! Nochmal: Ich habe den Code im
Original etwas anderst - und ihn gekürzt und minimal verändert, dass er
fürs Forum nicht zu umfangreich wird,...
Thomas schrieb:> Danke für das Hex-File - jedoch benötige ich es nicht mehr - habe die> Displays zurückgeschickt und mir neue geholt. Diese funktionierten auf> Anhieb!!> Ich vermute einen serienfehler!>
Danke, das Du uns nicht ganz im Ungewissen gelassen hast.
Der " Serienfehler " schien schon in der Diskrepanz zwischen schlecht
lesbarem - aber dennoch eindeutig als HD44780 standard erkennbar - und
der Kundenrezension bei Amazon zu dem Produkt erkennbar zu sein.
Beitrag "Re: Wechsel vom zwei- zum vierzeiler HD44780"
Bernd_Stein