Forum: Mikrocontroller und Digitale Elektronik Pollin LCD-Display + ATMEGA: Probleme


von Tobias H. (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Mal wieder einer mit einem Display-Problem... :-)

Vielleicht könnt ihr aber ja auch mir helfen.

Im Anhang eine .zip Datei. Die enthält den Quellcode in C von meiner 
Displayroutine und einen Screenshot vom Displayinhalt nach Ablauf des 
Programms.

Mit einer anderen Displayroutine aus der Codesammlung funktioniert alles 
einwandfrei, Text wird dann wie gewünscht angezeigt.

Wie man sehen kann, wird bei meiner selbst programmierten noch nicht so 
viel richtiges angezeigt.

Habt ihr da 'nen tip für mich?

Beschaltung geht aus dem Quellcode hevor (siehe #define-Teil)

Ciao Tobias

von Karl H. (kbuchegg)


Lesenswert?

void lcd_kommando(char kommando)
{
  char kommando2;
  kommando2=kommando;
  //Teil 1:
  kommando = kommando<<4;  //Nibbles vertauschen
  kommando &= ~(1<<4|1<<5|1<<6|1<<7);  //Bit 4-7 auf 0 setzen
  LCD_AUS = kommando;  //oberes Nibbel Ausgeben


Das wird wohl so nichts werden.
Wenn du vorher das Byte nach links verschiebst, dann
wandern rechts 4 0-er rein. Nach ausmaskieren der
oberen 4 Bits bleibt da nur noch eine glatte 0
übrig.

In der anderen Ausgabefunktion ditto.

Nichts gegen die 1<<n Schreibweise. Nur hier ist
sie nicht ganz angebracht und verschleiert die Dinge
eher

   kommando &= 0x0F;

oder meinetwegen

   kommando &= 0b0000111;

sind, denke ich, wesentlich klarer. Ich habe 2 Minuten
gebraucht um mich zu vergewissern, was deine ursprüngliche
Version eigentlich macht.

von Tobias H. (Gast)


Lesenswert?

AAHHHHH, DANKE! knutsch ;-)

Viel geprüft, aber dass ich in die falsche Richtung schiebe, darauf bin 
ich nicht gekommen.

OK, das mit der Schreibweise ist wahrscheinlich geschmackssache. Ich 
bevorzuge diese Schreibweise.

Habe jetzt kommando = kommando<<4; gegen kommando = kommando>>4; und das 
gleiche nochmal bei daten gemacht und jetzt seh ich was auf dem Display 
:-)

Ciao Tobias

von Karl H. (kbuchegg)


Lesenswert?

> OK, das mit der Schreibweise ist wahrscheinlich geschmackssache.
> Ich bevorzuge diese Schreibweise.

Viel Spass damit. Du wirst dir noch viele Bugs damit
einhandeln.


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.