LCD Problem

Gast #351199
Lesenswert?
• ▲
▼
Hallo,

ich experiementiere im Moment ein bisschen mit dem LCD herum, dabei
habe ich folgendes Problem.

Die initialisierung des LCDs funktioniert soweit ganz gut, d.h. der
Cursor blinkt nach der initialisierung.

Hier mal die Ini Funktrion:

void lcd_ini()
{
  int i=0;
  for(i=0;i<5;i++)
  {
    delay();
  }
/*  for(i=0;i<2;i++)
  {
    lcd_write(0x33,0);    //init in 8-Bit Mode
  }
*/
/*
lcd_write_data(0x22,0);
lcd_write_data(0x80,0);
lcd_write_data(0xF0,0);
lcd_write_data(0x10,0);
lcd_write_data(0x60,0);
*/
PTT|=(1<<DB5);
delay();
lcd_flash_e();
delay();
lcd_flash_e();
PTT&=~(1<<DB5);
delay();
PTT|=(1<<DB7); //2-lines
delay();
lcd_flash_e();
PTT&=~(1<<DB7);
delay();
lcd_flash_e();
PTT|=(1<<DB4)|(1<<DB5)|(1<<DB6)|(1<<DB7);
delay();
lcd_flash_e();
PTT=0x00;
delay();
lcd_flash_e();
PTT|=(1<<DB4);
delay();
lcd_flash_e;
PTT=0x00;
delay();
lcd_flash_e();
PTT|=(1<<DB5)|(1<<DB6);
delay();
lcd_flash_e();
PTT=0x00;

};

Anschließend möchte ich gerne die Cursor Position veränden, z.B. an
Position 4 in der ersten Zeile setzen:

PTT |= (1<<DB6);
lcd_flash_e();
PTT = 0x00;
PTT |= (1<<DB7);
lcd_flash_e();
PTT=0x00;

nachdem ich diesen Befehl ausführe, verschwindet der Cursor immer, ist
aber egal welchen Befehl ich ausführe??
Kann mir da vielleicht jemand helfen?

Danke schon mal im voraus!!!
Gast #351200
Lesenswert?
• ▲
▼
Hallo nochmals,

so langsam komme ich hinter das Problem, ich denke es liegt an der
Abfrage des busyflag...

Wenn ich das richtig verstanden habe, lese ich über den PORT DB7 im
4-Bit Betriebsmodi die Busyflag aus??
 Verstehe ich das richtig, bzw. wie schaut eine busyflag Abfrage aus
(C-Code mäßig)

Danke im voraus

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