Forum: Mikrocontroller und Digitale Elektronik LCD nach Sprung keine Zeichen mehr


von mwstui (Gast)


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?

von holger (Gast)


Lesenswert?

Bei DD RAM Address Set muss das höchste Bit gesetzt sein.
Das sehe ich bei dir nicht.

von mwstui (Gast)


Lesenswert?

Hallo Holger,

sorry, ich konnte es jetzt erst ausprobieren...

Das war schon alles. Danke!

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.