Pollin LCD-Display + ATMEGA: Probleme

Gast #462631
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
Angehängte Dateien:
#462644
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.
Gast #462649
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren