PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCM1602 I2C Display mit ATMEGA328p



Unregistriert
09.08.2015, 23:47
Hallo Roboternetz-Forum!

Ich habe folgendes Problem: Ich will einen LCM1602 I2C Display mit dem ATMEGA328p lauffähig machen, und habe erst einmal das Testprogramm benützt, das hier beschrieben wird: dhttp://www.avrfreaks.net/forum/lcd-display-iic-1602-atmega328p

Nun ist es aber so, dass der Display nicht die erhofften Zeichen anzeigt, sondern nur ausgefüllte 'Blöcke'. Er leuchtet zwar, zeigt aber keine Zeichen an. Dass der Display funktioniert, weiß ich, weil er bei einem anderen uC funktioniert.

Die Hardware sollte auch passen, hab den Display einfach direkt raufgehängt (Pull-Ups sind eh auf dem LCM1602 eingebaut, soweit ich weiß), und ein Quarz mit 2 Kondensatoren hängt auch an XTAL1 und XTAL2.

Was mache ich also falsch?

Freue mich auf Eure Antworten!

021aet04
10.08.2015, 06:25
Ausgefüllte Blöcke in der ersten Zeile bedeutet Display nicht initialisiert.

MfG Hannes

Unregistriert
10.08.2015, 21:09
Ok, danke für die Antwort, sie hilft mir jedoch nicht weiter, da ich ja den Code von besagter Internetseite habe, und da wird durchaus der Display initalisiert.

oberallgeier
10.08.2015, 23:59
.. Ich will einen LCM1602 I2C Display mit dem ATMEGA328p lauffähig machen .. Testprogramm benützt, das hier beschrieben wird ..Versteh ich nicht. Hast Du Probleme mit der Programmierung der I²C-Kommunikation? Oder willst Du - wie Deine verlinkten Codeteile vermuten lassen - das LCD bitweise direkt vom Controller ansteuern? Dann fehlen z.B. die LCD.h und manche Programmcodes! Übrigens sind Deine Links fehlerhaft und der Link im Code zu Fleury ist . . . reichlich keck ??


.. Die Hardware sollte auch passen .. Display einfach direkt raufgehängt (Pull-Ups sind eh auf dem LCM1602 eingebaut, soweit ich weiß) ..Die Aussage "soweit ich weiß.." beideutet häufig eher "..ich weiß es nicht..". Ausserdem - Pull Ups am Display? Also ich kenne den I²C-Bus nur mit Pull Ups am Master, nicht am Slave - und Du willst hoffentlich nicht das Display als Master ansehen wollen :-/


.. und ein Quarz mit 2 Kondensatoren hängt auch an XTAL1 und XTAL2 ..Der Quarz hängt - hoffentlich am Controller. Der Quarz allein tuts aber nicht, da gehören noch die richtige, passende Einstellung der Fuses dazu.


.. Was mache ich also falsch? ..Kann ich aus Deinen Beschreibungen leider nicht rauslesen. Also: Schaltplan, vollständige Code wie Du den benutzt, Beschreibung ob Du hier nach der I²C-Verbindung fragst oder nach der direkten Ansteuerung vom Controller zum LCD mit Vielfachkabel.


.. Antwort, sie hilft mir jedoch nicht weiter, da ich ja den Code von besagter Internetseite habe, und da wird durchaus der Display initalisiert.Da STEHT der Befehl lcd_init(); - aber was dort drinsteht ist nicht zu sehen. Insgesamt fürchte ich aus den verlinkten Codewaffeln, das z.B. die Portdefinition nicht homogen ist.