hallo zusammen! ich hab mir ein paar routinen fuer mein display mit t6963c controller geschrieben (siehe anhang). ohne optimierung laeuft alles prima, doch mit optimierung eben nicht... tja, die frage ist wo der fehler liegt? ich hoffe es kann mir jemand helfen. danke, tsun
Tut mir leid, aber deinen Code wird sich wohl niemand anschauen. Du zeigst null Eigeninitiative. Beschreib den Fehler genauer (Tipp: Niemand kann deine Gedanken lesen). Dann grenz den Fehler bitte etwas ein (mit einer genauen Fehlerbeschreibung sollte das in Eigenarbeit möglich sein). Die relevanten Codeausschnitte postest du. Dann wirst du dich wundern, wie schnell sinnvolle Antworten kommen. Im Zweifelsfall lies bitte: http://www.lugbz.org/documents/smart-questions_de.html
hast recht, eine genauere fehlerbeschreibung waere angebracht. der fehler tritt schon in lcd_init() auf. ich habe den verdacht, dass ich in lcd_reset() (oder lcd_read_status()) ein volatile vergessen habe, allerdings kann ich den fehler nicht finden. wie gesagt, ohne optimierung laeuft ja alle perfekt. hier mal der reset-codeausschnitt: void lcd_reset(void) { volatile uint16_t i; cbi(LCD_C_PORT, LCD_RESET); for(i=0; i<5000; i++) { asm volatile("nop"); } sbi(LCD_C_PORT, LCD_RESET); }
Kannst Du bitte noch die Compilerfehler mitschicken, dann wird es einfacher. Gruss Marc
compilerfehler gibt es keine. in meinem testprogramm steht folgendes: ... lcd_init(); lcd_set_address_pointer(0x00, 0x00); lcd_print_string("blub"); ... das funktioniert ohne optimierung ja auch alles wunderbar, nur mit eben nicht...
Mal nachgerechnet ob das Delay mit Optimierung noch ausreicht? Delay-Loops lieber komplett innerhalb von asm packen - eben deshalb.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.