LCD nach Sprung keine Zeichen mehr

Gast #3828329
Lesenswert?

Hallo Forum,

ich versuche das ich mit meinem MSP430 ein 16x4 LCD (mit 
HD44780-Controller) ansteuern kann.
Momentan hänge ich ein bisschen am Sprung in eine neue Zeile. Nach dem 
Sprung werden keine Zeichen mehr ausgegeben (lustigerweise schiebt sich 
das Cursor aber tatsächlich weiter vorwärts, das erkenne ich da er bei 
verschiedenen Texten an verschiedenen Stellen steht, aber es erscheinen 
einfach keine Zeichen).

Die zweite Zeile ist auch richtig initialisiert und die Zeichen werden 
ausgegeben wenn ich in einer Schleife einfach weiterschreiben lasse (das 
45. Zeichen ist dann der Anfang der zweiten Zeile).

Hier mal meine Sprungfunktion (wem die Adressen spanisch vorkommen, das 
ist alles bitweise gedreht):
1
void LCD_JPZ(int x)      //Springe zu Zeile x
2
{
3
  P5OUT = 0x01;    //RS = 0; E = 1
4
  __delay_cycles(160);    //warte 100 us
5

6
  switch (x)
7
  {
8
  case 1:
9
    P4OUT = 0x00   //Kommandoport
10
    LCD_RES();
11
    __delay_cycles(240); // warte 150 us
12
    break;
13
  case 2:
14
    P4OUT = 0x02;
15
    LCD_RES();
16
    __delay_cycles(240);
17
    break;
18
  case 3:
19
    P4OUT = 0x08;
20
    LCD_RES();
21
    __delay_cycles(240);
22
    break;
23
  case 4:
24
    P4OUT = 0x0A;
25
    LCD_RES();
26
    __delay_cycles(240);
27
    break;
28
  }
29
}

Nochmal dazu was ich geprüft habe:
 - 2te Zeile überhaupt "exisiterend":            OK
 - 2te Zeile lässt sich beschreiben:             OK
 - Sprungadressen passen:                        OK
 - von Kommando wieder ins Character-Reg zurück: OK

Ich kann nach einem CLEAR-Befehl ebenfalls schreiben, also sollte es 
zwischen den Registerwechsel auch kein Problem geben... noch jemand eine 
Idee?

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