Hi Leute,
ich habe das LCD Display ausm Tutorial zum Laufen gebracht. Jetzt möchte
ich den Code verstehen und hangel mich durch den Dschungel von Code
durch. Gar keine einfache Aufgabe für einen Anfänger :D
Ich hänge an der Funktion lcd_out, die wie folgt definiert ist:
1 | ////////////////////////////////////////////////////////////////////////////////
|
2 | // Sendet eine 4-bit Ausgabeoperation an das LCD
|
3 | static void lcd_out( uint8_t data )
|
4 | {
|
5 | data &= 0xF0; // obere 4 Bit maskieren
|
6 |
|
7 | LCD_PORT &= ~(0xF0>>(4-LCD_DB)); // Maske löschen
|
8 | LCD_PORT |= (data>>(4-LCD_DB)); // Bits setzen
|
9 | lcd_enable();
|
10 | }
|
Okay, die Funktion lcd_out erhält einen Wert und speichert ihn in die
Variable data. Dieser Wert ist
Dann wird data UND verknüpft mit
Das ergibt meiner Ansicht nach
Ich verstehe überhaupt nicht die Intention, die dahinter steckt. Wieso
sind das die oberen 4 Bit, die maskiert werden? Irgendwie sehe ich da
nur 2 Bit :/
Und vom restlichen Code in der lcd_out Funktion will ich gar nicht erst
sprechen... :(
Tut mir Leid für die doofe Frage, aber mag mir jemand beim Verstehen
dieser Funktion auf die Sprünge helfen?
Der Link zum Tutorial und zum Code:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
Ich bedanke mich.
Gruß
EDIT:
Soweit ich den restlichen Code überfliegen konnte, habe ich damit keine
Verständnisschwierigkeiten. Es begrenzt sich vorerst also wirklich auf
diese lcd_out Funktion.