www.mikrocontroller.net

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


Autor: Tobias H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> OK, das mit der Schreibweise ist wahrscheinlich geschmackssache.
> Ich bevorzuge diese Schreibweise.

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


Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.