www.mikrocontroller.net

Forum: Compiler & IDEs AVR Mega8 LCD Initialisierung wir wegoptimiert


Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.
void lcd_init(void)
{
   LCD_DDR = LCD_DDR | 0x0F | (1<<LCD_RS) | (1<<LCD_EN);   // benötigte Pins auf Ausgang schalten

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

   //VON HIER########################################

   _delay_ms(6);
   lcd_enable();

   _delay_ms(2);
   lcd_enable();
   _delay_ms(2);

   //BIS HIER#########################################

   // 4 Bit Modus aktivieren 
   LCD_PORT &= 0xF0;        // LCD-Datenpins auf 0 setzen
   LCD_PORT |= 0x02;        // 4 Bit Modus (Datenblatt)
   lcd_enable();
   _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

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was für eine Optimierung hast du den eingestellt?

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab es mit 0s, 00 und o1 versucht.

Immer das selbe.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da du nicht zeigst, was hinter lcd_enable(); steckt kann man dir nicht 
helfen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benjamin wrote:
> Wenn ich in AVRStudio das Programm debuggen möchte überspringt der immer
> die markierten Zeilen.

Dann schau dochmal ins Listing, ob für diese Zeilen Code erzeugt wird.


Peter

Autor: Benjamin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist der Code von Enable:
// erzeugt den Enable-Puls
void lcd_enable(void)
{
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers einfügen
   // http://www.mikrocontroller.net/topic/81974#685882
   LCD_PORT |= (1<<LCD_EN);
    _delay_us(1);                   // kurze Pause
   // Bei Problemen ggf. Pause gemäß Datenblatt des LCD Controllers verlängern
   // http://www.mikrocontroller.net/topic/80900
   LCD_PORT &= ~(1<<LCD_EN);
}
 

Im Anhang ist das gesammte Projekt.

Autor: Benjamin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem Anhang hat nicht so ganz geklappt.

Hier noch ein Versuch.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.