Hallo Community, ich bin am Verzweifeln. Trotzdem vorneweg: Erspart mir bitte euer geflame dafür, dass ich den Code nicht selbst geschrieben und bestimmt nicht bis ins Detail verstanden habe. Ich bin Anfänger was µC Programmierung angeht und habe nicht die Zeit, alles zu lernen und zu verstehen. Ich will auch, dass es läuft. Niemand ist gezwungen, mir zu helfen. Der Schaltplan ist angehängt, den Code habe ich von Arne Rossius (http://www.elektronik-kompendium.de/public/arnerossius/schaltungen/avr/lcdplain.htm). Meine Schaltung entspricht in wesentlichen Teilen auch der dort Abgebildeten. Ich beobachte folgendes Verhalten: Nach Anlegen der Versorgungsspannung erscheint der im Code vorgegebene Beispieltext auf dem LCD. Ich habe sowohl ein 16x2 als auch ein 20x4 Zeichen LCD erfolgreich initialisiert. Pin 2 auf SK1 in meiner Schaltung ist die RS232 Rx-Leitung. Der AVR reagiert nicht auf serielle Kommunikation per RS232. Ich habe verschiedene Com-Ports, PCs und Terminalprogramme eingesetzt. Auch mit einem UART-Adapter über USB oder CMOS-Pegel von meinem Mega aus konnte ich keine Reaktion beobachten. Trotzdem gibt es Bedingungen, unter denen unerwartet zufälliger Kauderwelsch auftaucht. Ich erwarte nicht von euch, dass ihr dieses Projekt repariert. Aber ich würde mich freuen, wenn ihr mir aus eurer Erfahrung mögliche Fehlerquellen nennt, die dieses Verhalten auslösen. Vielen Dank! cm2227
Du hast einen Quarz in der Schaltung, wurde das im Code berücksichtigt?
Hast du den Tiny per Fuses auf Quarzbetrieb umgestellt? Wenn nicht, dann ist dein 12Mhz Quarz nur Zierde. Der Tiny benutzt ihn nicht und läuft mit seinen werksseitig eingestellten ca. 1Mhz Takt aus dem internen Generator. Für das LCD ist das kein Problem. Das funktioniert deswegen ganauso. Aber für die UART ist das nicht egal. Und damit landen wir beim Kardinalfehler Nummer 2: Du stocherst im Nebel, weil du zuerst die UART Richtung in Betrieb nimmst, bei der du maximal wenig an Fehlersuchse betreiben kannst. Nimm eine UART immer so in Betrieb, dass der AVR sendet und ein Terminal das darstellt, was der AVR sendet. Denn dann kannst du auch ausmessen ob das Timing stimmt, bzw. du siehst am Terminal ob es stimmt. So, bei dir, siehst du gar nichts, ausser das am LCD nichts kommt. Und nein "ich will das nicht lernen" lass ich nicht gelten. Du willst etwas bauen, dann musst du dich mit den Grundlagen vertraut machen. µC-Technik hat zuviele Fallen und Fallstricke, als das der 'Malen nach Zahlen' Ansatz funktionieren würde. Schon gar nicht, wenn man keine fertige WErkpackung hat, sondern sich aus dem Web etwas zusammensucht.
:
Bearbeitet durch User
Ich danke euch für eure bisherigen Antworten. Ja, der Quarz ist momentan Zierde. Und das mit der Richtung der UART ist ein guter Tipp. Bisher konnte ich aber nur herausfinden, dass der AVR auch nicht erfolgreich sendet. Ich verstehe, dass fremder Code seine Tücken hat. Wenn aber bei identischer Hardware der Code beim Einen funktioniert und beim Anderen nicht, dann hat man etwas übersehen. Ich hoffe immer noch, dass jemand auf eine Idee kommt, was ich übersehen habe.
Du könntest noch Bilder von Deinem Aufbau hier hereinstellen, damit wir Dich auf den fehlenden Abblockkondensator hinweisen können ;o) http://www.mikrocontroller.net/articles/Bildformate Ist halt arg wenig Input von Dir. Das mit den Bildern (oben und unten der Platine) wäre vielleicht noch einen Versuch wert.
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.