Forum: Mikrocontroller und Digitale Elektronik AVR GCC Turorial - LCD Ansteuerung - Init.funktion


von Jürgen H. (misteret)


Lesenswert?

Hallo Leute, habe das Tutorial durchgearbeitet, habe aber zum Quelltext 
ein paar Fragen (stehen groß im Quelltext ;-) )

void lcd_init(void)
{
   LCD_DDR = LCD_DDR | 0x0F | (1<<LCD_RS) | (1<<LCD_EN);   // Port auf 
Ausgang schalten

//DIESE ERSTE ZEILE REICHT DOCH SCHON MAL??
// BIS ZUR ZEILE " // 4Bit  2 Zeilen  5x7" KANN MAN
//DOCH EIGENTLICH ALLES WEGLASSEN ODER?
//AUSSER VIELLEICHT, DASS MAN NOCH LCD_RS AUF 0 SETZT...

   // muss 3mal hintereinander gesendet werden zur Initialisierung

   _delay_ms(15);
   LCD_PORT &= 0xF0;
   LCD_PORT |= 0x03;
   LCD_PORT &= ~(1<<LCD_RS);      // RS auf 0
   lcd_enable();^

   _delay_ms(5);
   lcd_enable();

   _delay_ms(1);
   lcd_enable();
   _delay_ms(1);

   // 4 Bit Modus aktivieren
   LCD_PORT &= 0xF0;
   LCD_PORT |= 0x02;
   lcd_enable();
   _delay_ms(1);


//4 BIT MODUS WIRD DOCH HIER EINGESTELLT, DAS OBEN DRÜBER KANN
// MAN DOCH WEGLASSEN??
// FUNLTIONIERT BEI MIR !

   // 4Bit  2 Zeilen  5x7
   lcd_command(0x28);
// MUSS HIER NICHT AUCH EINE WARTEFUNKTION STEHEN?
// IM DATENBLATT STEHT HIERZU z.B. Execute Time 40us.


   // Display ein  Cursor aus  kein Blinken
   lcd_command(0x0C);
//HIER NICHT AUCH EIN DELAY?

   // inkrement / kein Scrollen
   lcd_command(0x06);
//UND HIER DOCH EIGENTLOICH AUCH?

   lcd_clear();
}

GRÜSSE, MISTER_ET :-)

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.