Hallo! Nachdem ich jetzt seit Tagen verzweifelt an meinem Display rumschraube, weiss ich einfach nicht mehr weiter. Ich hoffe, ihr könnt mir helfen. Das Display ist ein Displaytech 162C mit 16*2 Zeichen an einem 4433. Nach dem Einschalten seh ich immer nur einen Schwarzen Balken in der Ersten Zeile. Im Display ist ein KS0070B-Controller drin, ich habe die Initialisierung 1:1 aus dem Datenblatt. Danach hab ich die Initialisierung für den HD44780 ausprobiert (Der ist ja glaub ich Kompatibel), mit genausowenig Erfolg. In den Forenbeiträgen hab ich den Hinweis auf mein Problem leider auch nicht gefunden. Aber um gleich mal ein paar Fragen vorzubeugen: Das Display ist korrekt verkabelt (siehe Quelltext) Es sind keine kalten Lötstellen drin. Der Kontrast ist richtig eingestellt. Würde mich freuen, wenn mir jemand mit meinem Problem helfen kann. Den Quellcode (Hier die Init-Sequenz für den HD44780) hab ich angehängt. Gruss, Andreas
Hallo Andreas! Sobald du 4Bit Mode anwählst musst du aber auch 2x4 Bit senden. Erst High dann Low sonst geht das in die Hosen. Was hast du mit DB0-DB3 am Displ.gemacht? Sind hoffentlich auf GND Gruss Uwe
Ähh, das mach ich doch, oder? In meinem Register sind die obersten 2Bits 00, dann kommt RS und RW und danach 4 Datenbits. Was genau mach ich falsch? DB0-3 ist auf GND.
Hi! ldi temp,0b00000010 ; 4-Bit Mode 2* out lcdport,temp rcall delay rcall lcd_clock rcall delay rcall lcd_clock rcall delay bis jetzt OK ldi temp,0b00001000 ; Irgendwas anderes out lcdport,temp rcall delay rcall lcd_clock rcall delay Aber jetzt sehe ich nur Das Lownibbel an deinem Displ.Wo sind die oberen 4 Bit? Wann werden die ausgegeben? Ganz grob sollte es für dich so aussehen ldi temp,0b00001000 ; Irgendwas anderes swap temp ;obere 4Bit nach unten weil zuerst senden out lcdport,temp rcall delay rcall lcd_clock rcall delay swap temp ;nun zurück und untere 4Bit senden out lcdport,temp rcall delay rcall lcd_clock rcall delay Dabei darf temp zwischen den Ausgaben nicht verändert werden. In der Codesammlung sind einige Beispiele zu finden. Gruss Uwe
Hallo! Mit deiner Lösung verändere (tausche) ich doch auch die Bits RS und RW. Die darf ich doch dabei aber gar nicht verändern, sondern nur die Datenbits. Ich versuche hier eigentlich nur die Init-Sequenz, wie sie in dem Datenblatt angegeben ist, nachzubauen. (Siehe Datenblatt hd44780, Seite 43 mit Anpassung auf 2-Line). Aber warum das nicht funktioniert, hab ich noch nicht so ganz ergründet. Ich werd am Wochenende auf jeden Fall mal meinen Quelltext überarbeiten, und sag euch dann obs funktioniert. Gruss, Andreas
Hi! Ich schrieb ja auch "ganz grob" solle es so aussehen. Vermutlich wirst du den Stack bemühen oder anders zwischenspeichern wenn du RS / RW mit ausgeben willst. Gruss Uwe
hmm, also ganz grob weiss ich wie du das meinst :-) Allerdings berücksichtigt die Init-Sequenz aus dem Datenblatt eigentlich den 4-Bitmodus, wenn ich das richtig verstanden hab. Und daher sollte es eigentlich stimmen - nur funktionieren tuts nicht. Ich hab jetzt mal den Code aus dem LCD-Tutorial an meine Ports angepasst (hängt an). Damit hab ich genau das gleiche Problem. Könnte den jemand mal kurz auf Fehler prüfen? (Die Original-kommentare stimmen manchmal nicht mehr ganz) Mein 4433 läuft mit 8MHz, die Pinbelegung ist in der Datei drin. Angezeigt wird auf meinem Display gar nichts. Die erste Zeile ist leicht angegraut (je nach Kontrast, praktisch das Hintergrundgrau eines LCDs, nicht aktiv schwarz). Die zweite Zeile ist ganz leer und reagiert auch nicht auf den Kontrast. Ist vielleicht mein LCD tot? Freu mich über jede Hilfe - Danke Andreas
Hi Also wenn ich nicht irgendwas übersehen habe sollte es jetzt gehen. Warum es trotzdem nicht tut ist mir momentan ein Rätsel. Gruss Uwe
Hmm, also du meinst, der Code ist ok? Dann werd ich jetzt wohl mal alles ablöten, und nochmal gemäss der Belegung hier im Tutorial dranlöten (und alle Kabel tauschen). Falls das nix wird, bleibt mir ja eigentlich nur noch, das Display als Schrott abzubuchen. Der Reichelt wirds mit Lötstellen drauf bestimmt nicht wieder haben wollen... Danke für deine Hilfe, Gruss, Andreas
Hallo! Ich habe das gleiche LCD (162C LED, hat noch ne Hintergrundbeleuchtung) @Siegfried: Das mit dem Kontrast müsste passen. Wenn da in der ersten Zeile leicht was graues erscheint, stimmt das so. Warum die 2.te Zeile da nicht aktiv wird ist mir auch ein Rätsel, aber bei mir schauts genauso aus. @AndreasG: Pass unbedingt auf, das du keine Kontakte mit den Fingern berührst!!! Das reicht bei mir schon aus um gewaltige Fehler zu produzieren. Auch kannst du mal versuchen deine Schaltung ein paar mal zu reseten, oder sie mal mit Batterien anstatt einem Netzteil zu speisen. Wenn du den Code aus dem Tut nimmst: Die Warteschleifen musst du unbedingt verdoppeln, da das Prog. auf 4Mhz ausgelegt ist. Etwas mehr Wartezeit (besonders bei Powerup) kann nicht schaden! Bei mir hat's öfter mal Probleme gegeben, weil die Daten zu schnell gekommen sind. Wenn du das Orginaldatenblatt zu exakt diesem Display brauchst kann ich's auch mal posten, steht aber eigentlich nicht viel neues mehr drin.
HI Andreas Ist dir eigentliche folgende Zeile in deinem Prog aufgefallen ???? loop: rjmp loop Alles klar ?
>Ist dir eigentliche folgende Zeile in deinem Prog aufgefallen ???? > >loop: >rjmp loop Werd doch bitte etwas deutlicher zu so fortgeschrittener Stunde ;-) Ich kann dir grad nicht folgen. Das ist der Code ausm Tutorial und der hat bei mir prima gefunzt. Sorry falls ich irgendwie aufm Schlauch stehe. Gruss Cabal
Wo ist das Problem an loop: rjmp loop? Wird doch erst ganz am Ende des Programms ausgeführt.
Hi Der eine und der andere Andreas Missverständniss ! Naja hätt ich auch schreiben können dachte aber es wird klar wenn ich mich auf AndreasG beziehe und sein Lcd-test.asm vom 27.10 Und da steht das wirklich so drin Da kann mann lange über init sequenzen grübeln :-) Phagsae
Ich bezog mich auch auf den Beitrag von AndreasG, und in seinem Programm kann ich keinen Fehler erkennen.
ok...ok...ok... Wenn man kein Ahnung hat sollte man einfach mal die Klappe halten :-) ( damit meine ich jetzt mich ) Eingerückten code erfasse ich sofort als sub funktion und das wahr ja wohl keine. Macht der init Anfang nicht auch Probleme ?? Müssen nicht die Funktionen deklariert werden bevor das prog sie Aufruft oder ist das jetzt nur in C so ? egal.... Was wirklich nicht stimmt ist die init sequenz. Die lautet für 4 bit 2 zeilig bei KS070 und dem hd44780 wie folgt RS/RW/D7...D4 >30ms ( hd44780 hier längere wartezeit 000010 000010 0010XX ( 2 zeilen & 5*7 dot ) # #000010 ( 1 zeile & 5*10 dot ) > nicht!!! 3mal 000010 # >39us 000000 001110 = ( disp on curs off blink off ) >39us 000000 000001 = Disp. clear & on >1,53ms 000000 000110 = ( incr on / shift off ) fertig
Hi! @phagsae: Lese bitte erstmal das Datenblatt bevor solchen Müll postest. Sein Init ist eigentlich richtig. Das einzige wo ich mir nicht ganz klar drüber bin ist die Zeile: ldi temp1, 0b00000100 ;endlich fertig Bleibt die Movedirektion eigentlich erhalten? Sie ist ja momentan negativ. 0b00000110 wäre "+" . Ich persöhnlich habe sie noch nie im "Init" gehabt und es geht trotzdem. Mit: Wait >15ms 3x $28 mit >4,1ms Pause $0C ;Displ.on/Kurs.aus ($0e mit Kursor) $01 ;Anz.auf 1.Zeichen + Displ.= cls hatte ich bis jetzt immer gute Erfolge. Zwischen den Ausgaben sind bei mir aber grundsätzlich um die 5ms Pause Aber das hat Andreas ja alles, bis auf die Movedirection. Gruss Uwe
Ui, hier is ja richtig was los auf einmal :-) Die Kontrastleitung ist definitiv richtig verschaltet. Ich hab da ein Poti dran. @Hermann: Ich hab auch das 162C mit LED. Das Datenblatt ist dieses 2seitige von Displaytech, oder? Da steht ja nicht wirklich viel drin. Meine Warteschleifen hab ich schon alle grosszügig auf ff gerundet. Ich werd sie aber trotzdem nochmal verdoppeln. Deinen Tipp mit der Stromversorgung probier ich morgen auch gleich mal aus. @Uwe: Das mit dem Move hab ich doch tatsächlich übersehen. Macht zwar im Momentanen Funktionszustand meines Progs nich viel aus, werd ich aber auf jedenfall anpassen. Was mir gerade noch einfällt: Könnte das eventuell an den Leitungen (Kapazität) liegen? Ich hab ca. 10cm 0.22mm² Litzen für das Display reingelötet. Gruss, Andreas
Hi Uwe Jetzt ohne zu Streiten. 1. Es geht hier um 4 bit Ansteuerung und 2 Zeiligen modus OK ? 2. Das Beispiel im Hitachi Hd44780 Manual beschreibt 4bit aber !!!! nur 1 zeiligen Modus ( Steht fett und breit drüber) OK ? 3. Im KS0070 Manual ist 4bit in allen Varianten Beschrieben Und da ich Manuals lese ( wunder wunder ) sind die ersten drei schritte die wichtigsten um in den 2 zeiligen modus zu schalten und die lauten s.o OK ? wenn man keine ........ Phagsae
Hi! @phagsae: Schaue dir bitte "Figure 26 4-Bit Interface" im Datenblatt an, dann schauen wir mal. Die Leitungen sind kurz genug. Ich habe mal festgestellt, wenn du dem HD44780 genügend Zeit beim Poweron lässt reicht eine einzige Übertragung statt 3 am Anfang. Nicht das dein HD... den 8Bit Modus aktiviert. mache mal das Init nicht mit: ldi temp1, 0b00000011 ;muss 3mal gesendet weden sondern mit ldi temp1, 0b00000010 ;muss 3mal gesendet weden es entspricht ja dem 4 Bit Modus, obwohl es ja nicht so im Datenblatt steht. Ich mache es ja eigentlich auch so. Also wenn es jetzt nicht hinhaut, ein einzeiliges Displ. ist noch da, das klebe ich ans STK und teste es einfach mal aus. Gruss Uwe
@Uwe Klar kenn ich: Wenn man zusätzlich einen Externen LCD reset benötigt dann schickt man ein 0000011 Triplet ---VOR--- der eigentlichen init sequenz raus. Nur wer braucht sowas ? Das gilt für den fall das die Betriebsspannung nicht in der festgelegten zeit über 4,5 V kommt ( selten glaub ich ) Zumal der modus des externen Resets nicht im KS0070 implementiert ist. Sofern man inkompatibele Lösungen vorzieht -- nur zu. Danach gehts weiter s.o. Also wenn schon externer reset- Dann aber auch richtig weiter sonst ist der allemal für die Hasen. Fakt ist einfach nach dem LCD reset ( ob jetzt intern oder extern ) führt eine 000010 000010 000010 zu folgendem Ergebnis 1 Zeile 5*7dot Im dritten schritt des triplets muss das N flag auf 1 und und ( aus erfahrung ist nicht beschreiben ) das F Flag auf 5*7 gesetzt werden F= DB6 N = DB7 Bei 000010 oder 000011 ist das auf keinen Fall erfüllt oder ? Alle versuche 2 zeilig in den 10er mode zu kommen führen zu einer 1 Zeiligen ausgabe Oder nochmal ganz anders : Bei mir schaltet das 162F in den zweizeiligen Modus ( siehe Codesammlung ) Und das in bestem einvernehmen mit dem Manual.- sorry Phagsae ( der nicht immer nur müll postet )
Also, ich glaube ihr redet hier alle am eigentlichen Ziel vorbei: >Nach dem Einschalten seh ich immer nur einen Schwarzen Balken in >der Ersten Zeile. Das klingt fast so, als ob überhaupt kein Text angezeigt werden könnte. Es ist also egal in welchem Modus das Display ist. Hauptsache mal 4bit. Es bringt nichts wenn ihr euch hier beschimpt. Sucht lieber mal nach lösungen für das Problem! Meiner Meinung nach handelt es sich um ein Hardwareproblem, weil ich das gleiche Display habe und bei mir der Code aus dem Tutorial prima funktioniert hat(mit längeren Warteschleifen, s.o.) @AndreasG: Wenn du ein Osziloskop hast schau mal ob überhaupt die Signale ankommen. Mit langgenugen Warteschleifen geht das auch mit nem normalen Multimeter. Ich hab mal eine C-Lib angehängt, die ich mit Hilfe des Datenblattes erstellt hab. Beispielsprog. für GCC: (Sollte so funktionieren, hab's leider nicht testen gekonnt) #include <io.h> #include <stdlib.h> #include "lcd.h" int main(void) { lcd_init(); lcd_print("ZEILE 1"); lcd_set_dram(line_two); lcd_print("zeile 2"); for (;;) ; } Wenn du noch keinen GCC hast, kann ich auch mal das Binary posten. Hermann
Ich hab jetzt eure Vorschläge getestet. Die längeren Warteschleifen bringen nichts. @Uwe: Deinen Init hab ich auch mal probiert. Ich nehme an, dass hier jeweils erst das high-nibble und dann low gesendet werden muss. Leider auch keine Funktion. > Wait >15ms > 3x $28 mit >4,1ms Pause > $0C ;Displ.on/Kurs.aus ($0e mit Kursor) > $01 ;Anz.auf 1.Zeichen + Displ.= cls Eigentlich sollte jetzt ja wenigstens der Cursor blinken (mit $0e). Tut er aber nicht... > ldi temp1, 0b00000010 ;muss 3mal gesendet weden Das bringt auch nix. @Hermann: Ich habe leider kein Oszi zur Verfügung. Ich werds mal mit dem Multimeter versuchen. GCC hab ich noch nicht, ich wollte mich eigentlich erst mit C beschäftigen, wenn ich die ganzen Grundsätze (IO, Timer/Counter, ADC, Interrupts...) in asm verstanden hab. Wär super, wenn du mir das Binary posten könntest. Kannst du das bitte schnell auf meine Pinbelegung anpassen? Der Datenport müsste passen, nur in der Funktion lcd_enable() weis ich nicht, was ich ändern soll. Mein Enable-Pin liegt auf PB0. RS ist auf PC5, dafür sollte glaube ich die OR-Maske auf $20 geändert werden. (4433@8MHz) @Phagsae: Dein Privatkrieg mit Uwe ums rechthaben hilft uns hier nicht viel weiter. Deinen Beitrag aus der Codesammlung hab ich auch schon probiert. Allerdings mit genau dem selben Ergebnis wie alle anderen Versuche auch. Für was ist denn das T-Flag gut? (Nicht in deinem Prog, sondern im allgemeinen) Ich habe das Display jetzt mal ohne AVR getestet. Das Ergebnis ist, dass genau wie bei allen anderen versuchen die erste Zeile leicht angegraut dargestellt wird. Was sollte da normal passieren? Ich hab das Init nochmal exakt nach dem Datenblatt für den KS0070B gebaut (hängt an). Damit kann man ja eigentlich keine Fehler machen (siehe Seite 32). Das will aber auch nicht. Andreas
> Mein Enable-Pin liegt auf PB0. RS ist auf PC5, dafür sollte > glaube ich die OR-Maske auf $20 geändert werden. Warum hängst du dein Display an zwei verschiedene Ports? Das ist normalerweise nicht so sinnvoll, weil du dann ja immer auch an verschiedene Ports ausgeben musst. Und wenn die restlichen Pins eines Ports mal für was Anderes benutzt werden, kann es schnell passieren das es zu Problemen kommt, weil du vergessen hast dass da noch was daran ist. Ich hab mir ein Board gebaut, dass so ähnlich ist wie das STK500, nur alles fest verkabelt und viel billiger. Wäre evtl. auch für dich sinnvoll. Dann gibt's keine Probleme mit doppelter Belegung. Kurze Beschreibung: Port A: 8 Taster + Tastaturbuchse laut App Note von Atmel + Steckverbindung für die Serielle Schnittstelle Port B: LED-Bargraph + Programmeranschluss Port C: 8Pol. Steckverbindung zum Anschluss des LCDs, bzw. anderer Zusatzplatinen Spannungsversorgung: 7805 mit 22µF-Elko und 2x0,01Kondensator in der Eingangs- und 2x0,01Kondesator in der Ausgangsleitung(wird bald durch einen LM2825 ersetzt). Oszi: 8,000MHz von Reichelt Aufgebaut auf Lochraster Damit läuft bis jetzt alles wunderbar. Also überleg dir erst mal ein sinnvolles Layout und Anschlussbelegung. (Soll jetzt keine Kritik sondern nur ein Hinweis wie du Probleme vermeidest sein.) Das Binary ist noch nicht fertig. Ich muss es erst an die 2 verschiedenen Ports anpassen. Ich werde aber heute warscheinlich nicht mehr dazu kommen. Sorry. Hermann
Hi! Also dein Prog. ist 100% io.,habe alle Tests gerade gemacht, auch 2 Zeilig haut hin! Bitte fange 100% mit 3x 0x00000011 an, nur 0x00000010 bringt manchmal Fehler weil beim Einschalten das Port meist wegen Pull Up auf High steht. Wenn jetzt die Ausgänge aktiviert werden kommt eine LH Flanke und das Disp. liest Müll. Aber das erste was mir aufgefallen ist: Du hast RS und RW über Kreuz an Port C! Ist das bei dir auch so? Mit was testest du die Geschichte, mit einem Bord? Wenn ja hast du bedacht das Port C das Analogport ist und dehalb auch bei analog dein Disp. drann muss? Ich hatte es jedenfalls übersehen. Auch Port B ist bei mir verschoben (STK200)Sowas übersieht man recht schnell. Hast du nicht wenigstens ein Multimeter mit TTL-Piepser, die Impulse sind hörbar. Also wenn das jetzt alles nicht hilft ist dein Displ. vermutlich def. Gruss Uwe
Moin moin @Hermann Das mit dem Pinout ist wohl ein kopie meines Pinouts ( ist aus meinem prog rauskopiert) und insofern Hat das schon sinn wenn man sich mal den 4433 genauer anschaut. PortC ist der mit den wenigsten Sonderfunktionen. Allerdings nur 6bit breit. Also liegt es nahe diesen zu verwenden vorallen wenn man noch die SPI und den UART benötigt @AndreasG Phagsae: Dein Privatkrieg mit Uwe ums rechthaben hilft uns hier nicht viel weiter. Als Antwort eine Kopie von oben: "@phagsae: Lese bitte erstmal das Datenblatt bevor solchen Müll postest. Sein Init ist eigentlich richtig." Nach so einem Text - ohne uwe vorher irgendwie " auf die füsse zu treten " Binn ich durchaus in Privatkrieg laune Allerding meine ich das ich bisher sehr nah am eigentlichen technischen problem geblieben binn. Wenn der init nicht klappt was soll man sich dann zunächst Gedanken über den rest machen ? Wenn das Display in den 2Zeiligen Modus wechselt siehst du 2 schwarze durchgehende Balken - sofern der Kontrast auf maximum gestellt ist Sollte das mal der fall sein würd ich den rest des programms auf fehler überprüfen. Deinen Beitrag aus der Codesammlung hab ich auch schon probiert. Allerdings mit genau dem selben Ergebnis wie alle anderen Versuche auch. Meinst du jetzt das orginal oder das was du draus gebastelt hast ? --> lcd3.asm ? Für was ist denn das T-Flag gut? Gute Frage: Für was ist das wort "hirntotes Fruchtgummi" gut ? Das T-Flag ist das 7.bit des Status Registers und wird von keiner Operation des µC beeinflusst. Es kann aber frei gesetzt und gelöscht werden Und des gibt 4? befehle die auf dieses Flag reagieren. Eine unter tausend möglichkeiten ist zb die parameterübergabe an eine Sub funktion ohne ein zus. Register zu brauchen. ( Die werden ganz schnell höllisch knapp wenn man nicht aufpasst zumal ja nur die oberen >16 mit allen befehlen arbeiten ) PS: Das erste triplet scheint ja nun in ordung zu sein Aber !! wenn zu lange gar nicht passiert schaltet das LCD von selbst in einen voreingestellten Modus 8bit/1Zeile Ich hab jetzt keine ahnung wann das passiert >1sec ? aber viel länger als 50ms nach dem power on würd ich nicht warten Die folgenden drei befehle müssen immer mit einem $00 eingeleitet werden -> Datenblatt 4bit zwischen diesen Datensatz braucht man keine pause einlegen also: ldi temp1,$00;rcall lcd_enable ldi temp1,0b001100;rcall lcd_enable delay ldi temp1,$00;rcall lcd_enable ldi temp1,0b000001;rcall lcd_enable delay ldi temp1,$00;rcall lcd_enable ldi temp1,0b000010;rcall lcd_enable delay Phagsae
@Hermann: Im moment is eigentlich egal, wo ich das Zeug anschliess, da ich erst am Probieren bin. Ich möchte nur die Grundlagen durchtesten, und dann überleg ich mir eine sinnvolle Anschlussbelegung, die alles berücksichtigt, was ran soll. Und da das jetzt eh alles verändert wird, wollte ich kein vollständiges Board aufbauen. Mach dir bloss keinen Stress mit dem C-Binary. Nachdem ich 4 Monate auf meinen µC gewartet hab, kommts auf ein paar Tage auch nicht an :-) Danke! @Andreas S.: ja, is dran. @Uwe: Ich hab mir da auf ner Lochrasterplatine ein Mini-Board aufgebaut. Ich hab beide Versionen (0b00000011 und 0b00000010) getestet. > Wenn ja hast du bedacht das Port C das Analogport ist und dehalb auch bei analog dein Disp. drann muss? Äh...? Ich glaub ich löt das erst mal an nen anderen Port und teste das Prog aus dem Tutorial nochmal. @Phagsae: Dann trag deinen Privatkrieg woanders aus. > Gute Frage: Für was ist das wort "hirntotes Fruchtgummi" gut ? Wenn ich dir IRL gegenüberstehen würde, hätte ich mich spätestens jetzt umgedreht und wäre gegangen. Ich hab keine Lust auf deine agressiven Anfeindungen. Also mässige dich bitte oder lass uns in Ruhe, egal wie kompetent du sein magst! Und jetzt wieder zum Thema: Danke für deine Erklärung zum T-Flag. >Wenn das Display in den 2Zeiligen Modus wechselt siehst du 2 schwarze durchgehende Balken - sofern der Kontrast auf maximum gestellt ist Es wechselt ja anscheinend gar nie in den 2-Zeiligen Modus. >Meinst du jetzt das orginal oder das was du draus gebastelt hast ? Beides. >Die folgenden drei befehle müssen immer mit einem >$00 eingeleitet werden -> Datenblatt 4bit >zwischen diesen Datensatz braucht man keine pause >einlegen Ich kann Datenblätter lesen. Andreas
@AndreasG > Für was ist denn das T-Flag gut? > Gute Frage: Für was ist das wort "hirntotes Fruchtgummi" gut ? Ob Du es glaubst oder nicht das sollte beim lesen egentlich erheiternd wirken. Hätte natürlich auch Tisch;Stuhl oder was anderes schreiben können "Hirntotes Fruchtgummi" als Wort an sich find ich aber echt lustiger. IRL denke ich hättest du geschmunzelt. Im klartext die Frage ist so gestellt das man sie eigentlich nicht beantworten kann also hab ich ein bischen rumgeblödelt. Nimmst du alles so bierernst oder hast du dich mit dem "Fruchtgummi" identifiziert ? Oder meinst Du erst beleidige ich dich dann mach ich mir die mühe eine Erklärung zum T-Flag zu schreiben ? D i e s e Variante find ich jetzt eigentlich unlogisch. So jetzt noch kurz zum Datenblatt Thema. Nein ich nehme nicht an du kannst keine Datenblätter lesen. ( hab ich das irgendwann geschrieben zu irgenjemand hier? ) !!!! Die folgenden zeilen enthalten eine logelei!!!!! Allerdings hab ich diese Befehlsfolgen die für den 4 bit modus richtig währen nicht in deiner letzten version vorgefunden das legt den verdacht schon nahe das sie fehlen -- oder? !!! Das ist humor !!! Nein!- Das musst Du nicht lustig finden Ja !- Ich finde sowas lustig Ja !- Es steht dir frei sowas niveaulos zu finden Ja !- Das macht mir eigentlich nicht aus Ja !- Ich finde den Unterton hier schon manchmal etwas geladen Was währe besser immer gleich ein RTFM? ( Read The Fucking Manual ) So wenn man alles falsch verstehen will muss ich jetzt erleutern : Die zusatzzeile () hab ich nur für den fall geschrieben dieses akronym währe Dir nicht geläufig wovon ich natürlich nicht ausgehe. Ich gehe ausdrücklich davon aus das Du es kennst. .....wird ganz schön komliziert nicht ? Also ich halte mich jetzt komplett raus Phagsae
@phagsae: 1. > Das mit dem Pinout ist wohl ein kopie meines Pinouts ( ist aus > meinem prog rauskopiert) und insofern > Hat das schon sinn wenn man sich mal den 4433 genauer anschaut. Ich hab noch nie ein Programm von dir angeschaut. Einfach weil ich bei Programmieren selten Hilfe brauche, sondern eher bei Hardwaredesign, weil ich doch noch relativ neu bin und noch nicht so viel Erfahrung mit den ganzen ICs habe. Beim Aufbau des Boards habe ich mir einfach überlegt, was wohinpasst, welche Pins ich evtl. noch in einer anderen Belegung brauche, etc. 2. Dein letztes Posting war ziemlich sinnlos(von technischer Seite). Es wurde nur über das Verhalten der anderen geschimpft und nichts zum eigentlichen Problem beigetragen. @Andreas Schwarz: >a propos Port C: sind AGND und AVCC angeschlossen? Ist das wirklich nötig, wenn man den Port für die digitale Ausgabe und nicht als ADC verwendet. Bei mir läuft das seit Wochen ohne Probleme! @AndreasG: >Nachdem ich 4 Monate auf meinen µC gewartet hab, kommts auf ein >paar Tage auch nicht an :-) Wo hast du den bestellt? Bei Reichelt hat's ein paar Tage gedauert.(ur für meinen Kumpel, der bei mir mitbestellt hat, als ich was reklamieren musste, dauerts etwas länger, der wartet jetzt seit ca. 3Wochen auch den 4433, weil Reichelt meine Rücksendung verschlampt hat und dann der 4433 auch noch nicht vorrätig war. Sollte aber Montag oder Dienstag kommen. Also 4 Monate sind doch extrem lang! >Ich glaub ich löt das erst mal an nen anderen Port und teste das >Prog aus dem Tutorial nochmal. Soll ich das Programm dann überhaupt anpassen und wenn ja, auf welchen Port? Hast du evtl. Freunde, von denen du dir ein Display mit dem gleichen Controller leihen könntest. Oder hast du schon mal die Anleitung für den Parallelportanschluss am Computer mit deinen Display ausprobiert. Wenn's da auch nicht geht würde ich sagen es ist kaputt. Zum Vorschlag von Uwe: >Hast du nicht wenigstens ein Multimeter mit TTL-Piepser, die >Impulse sind hörbar. Wenn du kein solches Multimeter hast(ich hab auch keins): So ein kleiner Hochtonlautsprecher(zieht nicht viel Strom), wie der aus Uhren, etc. müsste doch auch gehen. Findet sich evtl. in irgendeinem Gerät, dass du nicht mehr brauchst, oder du hast sowieso welche rumliegen. Wenn das nicht geht korregiert mich bitte! Ich hab's noch nicht versucht, mach's aber bald. Wenn du feststellen solltes, das wirklich nicht's hilft, schick das Display einfach zurück. Bei Reichelt gibt's da normalerweise keine Probleme. Hermann
@Hermann Schick mir einfach das Binary und die Pinbelegung, dann verlöt ich das entsprechend. Danke! Bestellt hab ich erst bei Conrad. Der hat mich dann 1,5 Monate vertröstet und dann geschrieben, dass es die Dinger bei ihm nicht mehr gibt. Ich soll doch neu bestellen. Das hab ich dann auch - bei Reichelt. Nach 2 Wochen: Hammer net, bitte in 2 Monaten neu bestellen. Schlussendlich hab ich sie dann bei Wolfgang Rompelt, auf den ich hier im Forum gestossen bin, bestellt. Er hat dann auch prompt geliefert... (wenn ichs nachrechne warns ca 2,5 Monate) Ich hab ein Multimeter mit Diodenprüfer. Müsste eigentlich immer Piepen, wenn der Port auf Ausgang ist und Log 0 führt. Ich teste das gleich mal. Andreas
Es funktioniert! Ich weiss nicht, wie oft ich die verdammte Pinbelegung gecheckt hab. Und genauso oft hab ich übersehen, dass irgend ein Idiot EN an PD6 gelötet hab. Da kann man natürlich lang probieren. Als Ergebnis der Geschichte kann ich zusammenfassen: 1. Traue deinen Augen nicht! 2. Benutze ein Messgerät! 3. Lass jemand anders die Pinbelegung nochmal prüfen! Ich bedanke mich bei allen, die mir geholfen haben und möchte mich nochmal für den total blöden Fehler entschuldigen! Gruss, Andreas
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.