AVR Mega8 LCD Initialisierung wir wegoptimiert

Gast #1048419
Hallo,

mache gerade mein ersten Erfahrungen mit Microcontrollern.
Ich möchte gerne mit dem ATMega8 ein LCD ansteuern.
Die LCD-routine hab ich mir hier aus dem Tutorial geholt.

Jetzt zu meiner Frage.

Wenn ich in AVRStudio das Programm debuggen möchte überspringt der immer 
die markierten Zeilen.
1
void lcd_init(void)
2
{
3
   LCD_DDR = LCD_DDR | 0x0F | (1<<LCD_RS) | (1<<LCD_EN);   // benötigte Pins auf Ausgang schalten
4

5
 
6
   _delay_ms(30);
7
   LCD_PORT &= 0xF0;      // LCD-Datenpins auf 0 setzen
8
   LCD_PORT |= 0x03;               // muss zum initialisieren 3mal    gesetzt werden (Datenblatt) 
9
   LCD_PORT &= ~(1<<LCD_RS);        // RS auf 0 (Befehl)
10
   lcd_enable();
11

12
   //VON HIER########################################
13

14
   _delay_ms(6);
15
   lcd_enable();
16

17
   _delay_ms(2);
18
   lcd_enable();
19
   _delay_ms(2);
20

21
   //BIS HIER#########################################
22

23
   // 4 Bit Modus aktivieren 
24
   LCD_PORT &= 0xF0;        // LCD-Datenpins auf 0 setzen
25
   LCD_PORT |= 0x02;        // 4 Bit Modus (Datenblatt)
26
   lcd_enable();
27
   _delay_ms(1);


Kann es sein, dass er die wegoptimiert?

Hab mal versucht das auf dem Atmel laufen zu lassen, jedoch war nur der 
obere Balken Schwarz und sonnst hat sich nichts getan.
Hab aus dem Forum, dass das bedeutet, dass die Initialisierung nicht 
klappt.


Ich werde nochmal ganz in Ruhe alles nachprüfen.
Wenn die Zeilen jedoch wegoptimiert werden kann ich wohl lange suchen.

Schonmal danke für eure Hilfe.

Ist echt ne sehr gute Seite.

Gruß
Benjamin
Gast
Hier ist der Code von Enable:
1
// erzeugt den Enable-Puls
2
void lcd_enable(void)
3
{
4
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers einfügen
5
   // http://www.mikrocontroller.net/topic/81974#685882
6
   LCD_PORT |= (1<<LCD_EN);
7
    _delay_us(1);                   // kurze Pause
8
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers verlängern
9
   // http://www.mikrocontroller.net/topic/80900
10
   LCD_PORT &= ~(1<<LCD_EN);
11
}

Im Anhang ist das gesammte Projekt.
Gast
ich weiß nicht was du gemacht hast, aber die Projektdatei geht bei mir 
nicht -> neues Projekt alles rein gezogen -> Optimierung -Os -> 
Debugging und es wir nix übersprungen ...

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.