Forum: Mikrocontroller und Digitale Elektronik Mal wieder: LCD will nicht (Atmega, GCC)


von Reinhard R. (reirawb)



Lesenswert?

Hallo Forum,

wenn es dem Esel zu wohl ist, geht er aufs Eis :-(
...könnte heute mein Motto gewesen sein :-(

Nachdem ich seit fast 30 Jahren (fürs Hobby) Assembler programmiere 
(Z80, Z8, mal ein PIC, jetzt Attiny/Atmega), wollte ich dann doch mal in 
C einsteigen. Also erst mal mittels Timerinterrupt ein Portpin wackeln 
lassen, kein Problem. dann mal ein LCD ansteuern, aber das will und will 
nicht.

Grundlagen:
Hardware ist nach einer Tabelle (Hardware.pdf) auf einem Steckbrett 
(Aufbau.jpg) zusammengesteckt, Schaltplan dafür gibt es nicht. 
Programmiert wird im Atmel Studio 7, Programmer: JTAGICE3, Prozessor: 
Atmega168 mit 16MHz Quarz, Display: 16210 (großes 2 x 16). Programm im 
Anhang (Main.c). Verwendet wurden die lcd-routines aus dem Tutorial.
Beim Starten des Programms wird das Display auch initialisiert, das 
sieht man ja daran, dass der schwarze Balken in der ersten Zeile 
verschwindet. allerdings kommt der Text nicht (LCD_uninitialisiert.jpg, 
LCD_initialisiert.jpg).
Der Witz ist, wenn ich ein Assemblerprogramm mit selbst geschriebenen 
LCD-Routinen in diese Hardware lade, bekomme ich eine Anzeige 
(LCD_ASM_geschrieben.jpg), Hardware und Verdrahtung also OK. Ich habe 
extra die Verdrahtung nach der lcd-routines.h angelegt und die 
Ansteuerung meiner Assembler-Routinen angepasst.

Nun habe ich mir mal die Timings angesehen. sind doch recht 
unterschiedlich. Rot ist das Enable-Signal, Gelb ist eine der 
Datenleitungen. Oszi_Asm-Routine_1_16MHz.png und 
Oszi_GCC-Routine_1_16MHz.png zeigen jeweils die Ausgabe zweier 
aufeinander folgender Zeichen, Oszi_Asm-Routine_2_16MHz.png die Ausgabe 
eines Zeichens nochmal gespreizt. Ich habe dann die Zeiten in der 
lcd-routines.h angepasst, sodass ähnliche Timings wie aus der 
Assemblerroutine erzeugt werden, siehe Oszi_GCC-Routine_2_16MHz.png. 
Hatte alles keine Wirkung. Ich habe auch den 16 MHz Quarz mal gegen 
einen 4 MHz getauscht, ohne F_CPU zu ändern, sodass sich stark 
verlängerte Timings ergeben, nichts. Dann habe ich noch in einer 
aufwändigen Prozedur per Oszi die Initialisierung aus der lcd-routines.h 
analysiert, nur um festzustellen, das diese die gleichen Anweisungen wie 
meine ASM-Routine ausgibt, nur in einer etwas anderen Reihenfolge am 
Ende, was aber nicht weiter relevant sein dürfte.
Zuletzt habe ich noch das Timing in meinen ASM-Routinen schrittweise 
verkürzt, mit dem Ergebnis, das es bei weniger als 40 µs Zeichenabstand 
zu Unregelmäßigkeiten kommt, aber bis runter auf 20 µs noch irgendwas 
auf dem Display erscheint.

Ich bin jetzt mit meinem Lathein am Ende, lade ich das ASM-Programm, 
geht es, Das GCC-Programm will einfach nichts anzeigen.

Könnte morgen vielleicht noch mal ein anderes Display anschließen, wäre 
aber schade, das jetzige ist so schön groß :-)

Irgeneiner noch eine Idee?

Gruß Reinhard

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Reinhard R. schrieb:
> Irgeneiner noch eine Idee?

Jo - nimm einfach eine fertige Bibliothek, z.B. die bewährte von Peter 
Fleury. Man muss nicht jedes Rad neu erfinden, nur die dreieckigen und 
viereckigen :-)

http://homepage.hispeed.ch/peterfleury/avr-software.html#libs

von Johann Klammer (Gast)


Lesenswert?

Die 2 Eseleien wo Ich vor langer zeit 'druebergestolpert bin waren:

1) Geaenderte timing routinen in der avr-libc (neukompiliert und es ging 
nicht mehr)

2) Das verschwinden der `nop's (weil die gcc-kompilerbauern ja meinen 
sowas sei seiteneffektfrei).

von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

die eingebundene lcd-routines.h kann man aber nicht durchlesen.

MfG

von Jobst M. (jobstens-de)


Lesenswert?

Reinhard R. schrieb:
> Dann habe ich noch in einer
> aufwändigen Prozedur per Oszi die Initialisierung aus der lcd-routines.h
> analysiert, nur um festzustellen, das diese die gleichen Anweisungen wie
> meine ASM-Routine ausgibt, nur in einer etwas anderen Reihenfolge am
> Ende, was aber nicht weiter relevant sein dürfte.

Wenn das der einzige Unterschied ist, den Du feststellen kannst, dann 
würde ich ihn einfach mal beseitigen. Dann wird man sehen, ob es 
relevant ist oder ob nicht.


Gruß

Jobst

von Stefan F. (Gast)


Lesenswert?

> die eingebundene lcd-routines.h kann man aber nicht durchlesen.
Wie sollen wir denn helfen, wenn der du uns den wirklich relevanten Code 
nicht zeigst?

Schau mal in mein Buch 
(http://stefanfrings.de/mikrocontroller_buch/index.html) Band 3 da 
findest du ein minimales Beispielprogramm in C welches sehr 
konservatives Timing benutzt das sowohl mit aktuellen als auch 20 Jahre 
alten Displays funktioniert.

Das komplexe Tinming ist dort detailliert als Text beschrieben - für die 
Leute, die mit den Diagrammen aus dem Hitachi Datenblatt nicht viel 
Anfangen können.

von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

Hallo,

erst mal vielen Dank für eure Ideen.

Stefan U. schrieb:
>> die eingebundene lcd-routines.h kann man aber nicht durchlesen.
> Wie sollen wir denn helfen, wenn der du uns den wirklich relevanten Code
> nicht zeigst?
Ich hatte die Bemerkung von Christian S. nicht gleich verstanden, ist 
mir durch deinen Kommentar klarer geworden, lcd-routines.h und .c und 
die aktuelle (jetzt funktionierende) main.c angehängt. Die 
auskommentierten Zeiten in der lcd-routines.h sind die originalen aus 
dem Tuorial dieses Forums.

Jobst M. schrieb:
> Wenn das der einzige Unterschied ist, den Du feststellen kannst, dann
> würde ich ihn einfach mal beseitigen. Dann wird man sehen, ob es
> relevant ist oder ob nicht.
OK, habe ich gemacht. der Einfachheit halber habe ich meine ASM-Routinen 
auf die Reihenfolge der Initsequenz aus der lcd-routines.h umgestellt, 
Ergebnis das gleiche, ASM geht, GCC nicht.

Matthias S. schrieb:
> Jo - nimm einfach eine fertige Bibliothek, z.B. die bewährte von Peter
> Fleury.
Ja, hatte ich mir im Vorfeld auch schon mal angeschaut. War mir für den 
Einstieg aber erst mal, ähm, na ja, ich sag mal, unsympatisch, da der ja 
das Busssy-Flag abfragt. Ich dachte, eine auf Wartezyklen basierende 
Routine wäre im nicht funktionierenden Fall besser zu beherrschen.

Langer Rede kurzer Sinn, jetzt geht es (GCC_OK.jpg). Bei weiteren Tests 
auf der Basis Trial and Error :-) bin ich auf die Idee gekommen, dass 
ein einmal initialisiertes Display ja so lange initialisiert bleibt, bis 
die Versorgungsspannung weg ist. Also habe ich es mit dem GCC-Programm 
initialisieren lassen und das ASM-Programm mit auskommentierter 
Initialisierung drauf gespielt. Und plötzlich waren auch die im 
GCC-Programm geschriebenen Zeichen zu sehen, soweit sie nicht vom 
ASM-Programm überschrieben wurden. Dann habe ich wieder das GCC-Programm 
geladen, wobei mir beim genauen Hinsehen auffiel, das die geschriebenen 
Zeichen kurz zu sehen waren. Also wird das Display nach der Ausgabe 
ausgeschaltet. Ein nachgesetztes Kommando "Display Ein" macht alles 
wieder sichtbar (main.c). Wenn ich dieses Kommando vor die Ausgabe 
setze, sehe ich wieder nichts. Muß also in der Zeichenausgabe 
ausgeschaltet werden, ich sehe aber beim besten Willen nicht, wo.
Aber ich bleibe dran, hautptsache ich sehe erst mal was :-)


Reinhard

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Zur Initialisierung eines LCD bietet sich Sprut.de förmlich an:
http://sprut.de/electronic/lcd/index.htm

Wenn Du mit Deinem Assembler-Teil z.B. nicht die Position festlegen 
kannst, könnte RS und R/W vertauscht sein.

Bringt mich aber auch dazu, daß ich noch ein I2C-LCD an einen ATtiny 
häckeln wollte ...

MfG

von Jobst M. (jobstens-de)


Lesenswert?

Reinhard R. schrieb:
> OK, habe ich gemacht. der Einfachheit halber habe ich meine ASM-Routinen
> auf die Reihenfolge der Initsequenz aus der lcd-routines.h umgestellt,
> Ergebnis das gleiche, ASM geht, GCC nicht.

Gut. Und wo ist nun der Unterschied auf den Leitungen?

Gruß

Jobst

von Peter D. (peda)


Lesenswert?


von Reinhard R. (reirawb)


Angehängte Dateien:

Lesenswert?

Patrick J. schrieb:
> Zur Initialisierung eines LCD bietet sich Sprut.de förmlich an:
> http://sprut.de/electronic/lcd/index.htm
Ja, danke, kenne ich, war u.a. Basis für meine ASM-Routinen.

> Wenn Du mit Deinem Assembler-Teil z.B. nicht die Position festlegen
> kannst, könnte RS und R/W vertauscht sein.
Das ASM-Programm funktioniert ja, auch die Positionierung. Das diente 
jetzt nur als Vergleich und Test.

Im Grunde ging es darum, in C durchzustarten, weil ich im ASM letztens 
beim Prozessorwechsel so einen Verdruss hatte...

Jobst M. schrieb:
> Gut. Und wo ist nun der Unterschied auf den Leitungen?
Die Unterschiede sind marginal, es funktionieren ja auch beide 
Init-Routinen, siehe meinen letzten Post. Nur schaltet sich bei der 
Ausgabe eines Zeichens über das GCC-Programm das Display aus.

Ich habe jetzt noch ein wenig weiter experimentiert. Habe das GCC- und 
das ASM-Programm soweit zusammengestrichen, dass ohne Initialisierung 
nur noch jeweils ein Zeichen ausgegeben wird und dann in einer 
Endlosschleife verweilt (main.c).
Zuerst wurde das Display noch eimal mit der GCC-Routine initialisiert. 
Anschließend wurden abwechselnd beide Programme geflasht und mehrmals 
per Reset gestartet. War das ASM-Programm aktiv, konnte man verfolgen, 
wie bei jedem Reset ein Zeiche mehr im Display erschien. Wurde das 
GCC-Programm gestartet, wurde und blieb das Display ausgeschaltet, wobei 
nach anschließendem aktivieren des ASM-Programmes auch die im 
GCC-Programm geschriebenen Zeichen angezeigt wurden, siehe Ausgabe.jpg. 
Die 'G' wurden mit dem GCC und die 'A' mit dem ASM erzeugt.
Oszibilder von der Zeichenausgabe mit beiden Programmen habe ich 
angehängt, Gelb ist RS, Rot ist E. Es gibt keine weiteren Signale auf 
den Steuerpins, habe im Singleshot bis 5 s nach Reset gesucht.

Reinhard, der jetzt erst mal den Kopf für morgen wieder frei bekommen 
muß :-)

von Jobst M. (jobstens-de)


Lesenswert?

Reinhard R. schrieb:
> Wurde das
> GCC-Programm gestartet, wurde und blieb das Display ausgeschaltet, wobei
> nach anschließendem aktivieren des ASM-Programmes auch die im
> GCC-Programm geschriebenen Zeichen angezeigt wurden, siehe Ausgabe.jpg.
> Die 'G' wurden mit dem GCC und die 'A' mit dem ASM erzeugt.
> Oszibilder von der Zeichenausgabe mit beiden Programmen habe ich
> angehängt, Gelb ist RS, Rot ist E. Es gibt keine weiteren Signale auf
> den Steuerpins, habe im Singleshot bis 5 s nach Reset gesucht.

Okay, Du möchtest uns weis machen, dass mit den selben Signalen unter 
ASM ein Zeichen erscheint und mit C nicht, bzw. das Display abgeschaltet 
wird?

Klingt unglaubwürdig, denn dem Display ist es egal, aus welcher Quelle 
die Signale entstammen, es kann nicht hellsehen und eigentlich 
interessiert es sich nur für die Signale, welcher Deiner Aussage nach 
nur marginale Unterschiede aufweisen.
Entweder sind die Unterschiede vorhanden und sind Ursache des Problems 
oder Du führst uns an der Nase herum.
Oder es soll ein "C/GCC ist scheiße (aber eigentlich kann ich es gar 
nicht)"-Bashing werden.


Gruß

Jobst

von Walter S. (avatar)


Lesenswert?

was macht diese Zeile
lcd_command(0x0C);

Es gibt doch so schöne defines für die Kommandos

von Reinhard R. (reirawb)


Lesenswert?

Jobst M. schrieb:
> Okay, Du möchtest uns weis machen, dass mit den selben Signalen unter
> ASM ein Zeichen erscheint und mit C nicht, bzw. das Display abgeschaltet
> wird?
Hallo Jobst,
ich glaube es ja selber nicht, komme mir langsam auch blöde vor, aber du 
(oder jemand aus der Nähe, PLZ 068xx) kannst gerne zu mir kommen und den 
Mist selber ansehen und durchspielen. Ich glaube, ich brauche langsam 
einen Zeugen, oder jemanden, der mir das Brett vor dem Kopf entfernt.


Walter S. schrieb:
> was macht diese Zeile
> lcd_command(0x0C);
Ist ja in der letzten von mir geposteten main.c schon geändert.
Beitrag "Re: Mal wieder: LCD will nicht (Atmega, GCC)"

Reinhard

von Nop (Gast)


Lesenswert?

Was mir so auffällt: in den Senderoutinen für lcd_data und lcd_command 
wird direkt nacheinander zweimal lcd_out aufgerufen.

Die Konsequenz ist, daß die Hold-Time nach dem Enable-Puls nicht 
kontrolliert eingehalten wird, sondern nur mehr oder weniger als 
Seiteneffekt, wenn der Controller ausreichend langsam ist.

Ich würde mal versuchen, zwischen den Aufrufen von lcd_out eine 
geeignete Wartezeit einzufügen, und zwar nach Datenblatt des Displays.

von Reinhard R. (reirawb)


Lesenswert?

Hallo,

also, ich habe nun nochmal weiter experimentiert.

Wie weiter oben schon angedroht, habe ich mal andere Displays (ein 1x16, 
Typ ?, ein 2x8 Typ C0802-04 und ein 2x16 Typ CM1624) in dieser Schaltung 
und mit dem GCC-Programm getestet. Alle drei funktionieren so wie sie 
sollen, also ohne "DISPLAY ON" am Ende. Stecke ich dieses erste Display 
(2x16 Typ 16210) wieder an, kann ich wieder das oben beschriebene 
kuriose Verhalten beobachten. Muß also an diesem Display liegen, warum 
auch immer.

Ich denke, es lohnt nicht, das Problem weiter zu verfolgen. Ich ärgere 
mich nur darüber, durch diese unglückliche Auswahl des zuerst 
verwendeten Displays von meinem eigentlichen Vorhaben, mich in C 
einzuarbeiten, abgehalten worden zu sein. Aber was solls, schauen wir 
nach vorn :-)
Werde wohl das Display entsorgen, oder hat hier noch Einer Lust, sich 
damit rumzuärgern? Wenn ja, ich schicke es ihm gerne zu.

Stefan U. schrieb:
> Schau mal in mein Buch
Habe ich mal kurz überflogen, werde ich mich sicher in nächster Zeit 
zumindest mit den C-Bereichen intensiver beschäftigen.

Reinhard

von Peter D. (peda)


Lesenswert?

Warum probierst Du nicht einfach mal den Code in meinem Link aus?

von Joachim B. (jar)


Lesenswert?

oder

http://homepage.hispeed.ch/peterfleury/avr-software.html

damit hatte ich meine ersten Gehversuche erfolgreich absolviert!

kann viele LCD mit Hitachi und KS0066

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Joachim B. schrieb:
> oder
>
> http://homepage.hispeed.ch/peterfleury/avr-software.html
>
> damit hatte ich meine ersten Gehversuche erfolgreich absolviert!

Ja, aber da waren wir auch schon im 2ten Beitrag hier. Will er ja nicht, 
weils einen zusätzlichen Pin braucht.

von Joachim B. (jar)


Lesenswert?

Matthias S. schrieb:
> Ja, aber da waren wir auch schon im 2ten Beitrag hier. Will er ja nicht,
> weils einen zusätzlichen Pin braucht.

Wieso zusätzlichen PIN, du meinst wegen clock stretching?

Ich hatte da in pure AVR noch keine Probleme aber OK die kann es geben 
weil der AVR damit nicht gut zurecht kommt.

von Cyborg (Gast)


Lesenswert?

Da würde ich doch erst mal ausschließen, dass das C-Programm nicht
das tut, was man will. Gut möglich, dass da noch ein Bug drin ist.
Warum eigentlich nie einer mal einen Debugger verwendet? Dafür ist
das Ding doch da.

von Nop (Gast)


Lesenswert?

Joachim B. schrieb:
> Wieso zusätzlichen PIN, du meinst wegen clock stretching?

Nein, wegen Abfrage des Busy-Flags. Das bringt außerdem noch eine Reihe 
weiterer Probleme mit sich, z.B. bezüglich 3.3V/5V und möglichen 
Kurzschlüssen bei Programmierfehlern. Kann ich gut verstehen, daß man 
sich das spart.

von Joachim B. (jar)


Lesenswert?

Nop schrieb:
> Nein, wegen Abfrage des Busy-Flags.

oh, ich war gedanklich bei I2C

Das Busy Flag hatte ich noch nie abgefragt, aber OK ich behalte es im 
Hinterkopf wobei hat das jedes LCD?
Ausserdem spart man Ports mit I2C Umsetzung und ohne LED kann man sogar 
das LCD zurücksetzen einfach Power auf einen Portpin klemmen, aber da 
wären wir wieder bei Port Pins sparen, der Möglichkeiten gibt es viele, 
nichts dramatisches also, es gibt wirklich andere Probleme als ein 
schnödes LCD.

Wenns nicht gerade 4 Zeilen a 40 Zeichen sein soll in großen Lettern 
finde ich die (roten Platinen) Nokia 5110 Teile billiger und besser für 
Statusausgaben.

von Thomas (kosmos)


Lesenswert?

Hast du einen Logicanalyzer?
Denke hier wird einfach das Timing zw. ASM und C abweichen da C 
vielleicht ne extra Runde dreht und ggf. noch Registerinhalte 
sichert....

Ich poste dir heute Mittag auch mal einen Code.

von Reinhard R. (reirawb)


Lesenswert?

Matthias S. schrieb:
> Joachim B. schrieb:
>> http://homepage.hispeed.ch/peterfleury/avr-software.html
>>
>> damit hatte ich meine ersten Gehversuche erfolgreich absolviert!
>
> Ja, aber da waren wir auch schon im 2ten Beitrag hier. Will er ja nicht,
> weils einen zusätzlichen Pin braucht.
Es geht nicht um den einen Pin, sondern darum, die Bussy-Flagabfrage als 
weitere mögliche Fehlequelle zu vermeiden.

Peter D. schrieb:
> Warum probierst Du nicht einfach mal den Code in meinem Link aus?
Eigentlich wollte ich ja dieses problematische Display ad acta legen, da 
die anderen 3 ja funktionieren. Aber aus Respekt vor den aktiven Helfern 
werde ich die angebotenen Codes noch damit ausprobieren, ich melde dann 
das Ergebnis hier.

Thomas O. schrieb:
> Hast du einen Logicanalyzer?
Nein, leider nicht, "nur" ein 2-Kanal-DSO.

Reinhard

von Reinhard R. (reirawb)


Lesenswert?

Hallo,

ich habe nun auch den Code von Peter D. seinem Link getestet, gleiches 
Ergebnis. Display zeigt nur etwas an, wenn am Ende das Kommando "Display 
On" erfolgt.

Ich habe es aber trotzdem rausbekommen :-)

Dieses Display zeigt nichts an, wenn die RS-Leitung auf H-Pegel bleibt. 
Alle getesteten C-Routinen lassen einfach RS auf dem Pegel, der zuletzt 
genutzt wurde, d.h. nach Kommandoausgabe auf "L", nach Textausgabe auf 
"H".
In meinen ASM-Routinen wird RS nach Nutzung immer auf "L" gehalten, habe 
ich damals so eingerichtet, ohne besonderen Grund. Deshalb hat das 
Display auch immer in dem ASM-Programm etwas angezeigt.

Ich kann auch bei aktiver Anzeige nur durch setzten von RS --> "H" das 
Display dunkel und durch RS --> "L" wieder sichtbar schalten. Echt 
kurios.

Also, Problem gelöst.

Dank an alle, die mitgedacht haben und sich aktiv an der Lösung 
beteiligt haben.

Übrigens, dieses Display entspricht in den Abmessungen dem "LCD 162F 
LED" von Reichelt. Dieses wird lt. Datenblatt aber als 16290 aufgeführt, 
meins ist ein 16210. Also wenn so ein Teil mal nicht will, mal an "RS=0" 
denken :-)

Reinhard

von Peter D. (peda)


Lesenswert?

Reinhard R. schrieb:
> Dieses Display zeigt nichts an, wenn die RS-Leitung auf H-Pegel bleibt.

Ich würd mal sagen, es ist defekt.
RS liegt neben VEE (Kontrastspannung) und da wird wohl eine hochohmige 
Verbindung bestehen, d.h. RS = 1 zieht die Kontrastspannung hoch und 
nichts ist mehr zu sehen.

von Reinhard R. (reirawb)


Lesenswert?

Dong, dong, dong, dong, dong, dong, dong, dong, dong, dong,
das ist das Geräusch, wenn ich mit dem Kopf gegen die Wand haue :-(

Peter D. schrieb:
> Ich würd mal sagen, es ist defekt.
> RS liegt neben VEE (Kontrastspannung) und da wird wohl eine hochohmige
> Verbindung bestehen, d.h. RS = 1 zieht die Kontrastspannung hoch und
> nichts ist mehr zu sehen.
Fast richtig, es war eine eher niederohmige Verbindung, so etwa 0 Ohm 
:-(
Ich hatte schon mal den Strom nach VEE gemessen, der kam mir mit um die 
40 mA auch recht hoch vor. Hatte gedacht, na ja, großes Display, hoher 
Strom, zumal sich das eher rudimentäre Datenblatt dazu ausschweigt.
Nachdem ich nun nochmal mit dem Lötkolben an den Anschlüssen war, 
funktioniert das Teil auch wieder normal :-), also ohne "RS=0" Habe rein 
optisch mit meiner 9-fach Lupe nichts ausmachen können, aber mit dem 
Ohmmeter :-)

Na ja, nun ist aber endgültig alles geklärt, vielen Dank nochmal an 
Peter.

Dong, dong, dong, dong, dong, dong, dong, dong

Gruß Reinhard

dong, dong, dong, dong, dong, dong...

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Reinhard R. schrieb:
> sondern darum, die Bussy-Flagabfrage als
> weitere mögliche Fehlequelle zu vermeiden.

Bussies sind nie ein Fehler :-)

Aber LCDs sind so gut wie statisch und benötigen sehr, sehr wenig Strom. 
Bei 40mA muss man da auf jeden Fall misstrauisch werden.

von Reinhard R. (reirawb)


Lesenswert?

Matthias S. schrieb:
> Reinhard R. schrieb:
>> sondern darum, die Bussy-Flagabfrage als
>> weitere mögliche Fehlequelle zu vermeiden.
>
> Bussies sind nie ein Fehler :-)
OK, wer Rechtschreibfehler findet darf sie behalten ;-)
Aber an grundsätzlich hast du natürlich recht :-)

von Joachim B. (jar)


Lesenswert?

Reinhard R. schrieb:
> Dong, dong, dong, dong, dong, dong, dong, dong, dong, dong,
> das ist das Geräusch, wenn ich mit dem Kopf gegen die Wand haue :-(
> Gruß Reinhard

also es lag nicht an C, nicht am Code, nicht an der SW es war ein doofer 
Lötfehler.....

und man sieht wieder mal ohne echte Bilder vom Aufbau und mit 
fehlerhaftem Aufbau kann man nicht vorhandene SW Fehler nicht finden ;)

Wie oft habe ich schon zur Antwort bekommen ist alles richtig aufgebaut, 
so wie es im Tutorial steht und dann war es doch anders.

Ich sage es immer wieder, hat man eine Verbindung gelötet wird diese mit 
dem Ohmmeter gemessen, jede Lötstelle zu den Nachbarn auch und wenn das 
stimmt wird die Leitung mit dem Marker vollständig gemarkert.

1. sieht man vergessene Leitungen
2. ist diese Leitung mit den Nachbarlötstellen OK
3. spart das Zeit bei der Fehlersuche.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.