Und wieder das Display

Sieht merkwürdig aus, dass die ersten beiden Zeilen aktiv sind, und in 
der 3. Zeile nur die erste Pixelzeile. Das könnte an der vermurksten 
Init liegen:
1
  PORTA &= ~(1 << LCD_RS);        // RS auf LOW
2
  lcd_enable();
3
  delay_ms(6);
4

5
  lcd_enable();
6
  delay_ms(2);
7
  lcd_enable();
8
  delay_ms(2);

Du solltest vorher auch einen Wert an PORTC legen, ehe du Enable pulsed.
Gast
Hab die ersten drei Schritte so gemacht wie auf
http://www.sprut.de/electronic/lcd/index.htm#init
beschrieben. Und länger gewartet als angegeben.
Das Bild bleibt das gleiche. Ist die Init immer noch Mist? Ich verstehe 
das nicht, ich habe an die Angaben aus dem entsprechenden Tutorial hier 
auf mikrocontroller.net gehalten und nur die Portpins geändert und das 
wie auf meinem System nötig auf den 8-Bit-Modus geändert.

Also: Init immer noch Müll oder Display bei den Pommes?

DANKE für Eure Tipps!!!

D.
Angehängte Dateien:
Gast
HÄ?!

Leute, das ist jetzt schwer zu glauben. Aber die gleiche C-Datei 
kompiliert mit Programmer's Notepad ergibt diesen Schrott. Wenn ich mit 
AVR-Studio kompiliere, geht es. Was ist das denn?!
Gast
@Benedikt:

Du hast mich nicht verstanden. Die Datei, die ich zuletzt hier 
hochgeladen habe, ergibt mit PN kompiliert das, was ich fotografiert 
habe. Kompiliere ich mit AVR Studio geht es wie am Schürchen.
Gast
Dein Display hat einen KS0073 Controller.
Der braucht eine andere Init statt der 3 x 0x30:
1
void lcd_init(void)
2
{
3
  delay_ms(50);
4
  PORTA &= ~(1 << LCD_RS);        // RS auf LOW
5

6
  LCD_PORT = 0x30;
7
  lcd_enable();
8
  delay_ms(20);
9

10
  lcd_command(0x3C);            // 8-bit Modus mit RE=1
11
  lcd_command(0x09);            // 4 Zeilen
12
  lcd_command(0x38);            // 8-bit-Modus mit RE=0
13
  lcd_command(0x0f);            // Display ein, Cursor ein, Blinken
14
  lcd_command(0x01);            // Display l�schen
15
  lcd_command(0x06);            // inkrement, kein Scrollen
16
  
17
  lcd_clear();
18
}
Persönliche Seite
Dennis schrieb:
> @Benedikt:
>
> Du hast mich nicht verstanden. Die Datei, die ich zuletzt hier
> hochgeladen habe, ergibt mit PN kompiliert das, was ich fotografiert
> habe. Kompiliere ich mit AVR Studio geht es wie am Schürchen.

Hast Du in einer Umgebung vielleicht irgendwo die Taktrate F_CPU (als 
define) korrekt angegeben und in der anderen nicht? Von der hängt ja 
auch die korrekte Bestimmung der Wartezeiten ab.
Gast
@holger:

Danke, ich habe Deinen Code verwendet. Aber es ging auch mit der anderen 
Initialisierung und die vierte Zeile kann ich noch immer nicht 
beschreiben. Muss ich da noch was beachten?
Gast
#ifdef KS073
// Offset's anders als bei HD44780 Displays !
// 2 Lines
// Zeile 1 -> 0x80+0x00 = 0x80
// Zeile 2 -> 0x80+0x40 = 0xC0

// 4 Lines
// Zeile 1 -> 0x80+0x00 = 0x80
// Zeile 2 -> 0x80+0x20 = 0xA0
// Zeile 3 -> 0x80+0x40 = 0xC0
// Zeile 4 -> 0x80+0x60 = 0xE0
Gast
@Michael S: die Taktfrequenz steht in der Makefile korrekt. Und beide 
Programme nutzen dieselbe... In der delay.h habe ich die auch geändert. 
Daran kann es also nicht liegen. Habe das auch gerade nochmal alles 
überprüft.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.