mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik HD44780, Mega88@8MHz - komische Zeichen


Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der lcd-routines.h und in den Projektoptionen (Eclipse) habe ich 
jeweils 8MHz eingetragen, aber ich bekomme nur kryptische Zeichen auf 
das LCD. Das Ganze steckt auf/in einem STK500.
Mit einem Mega8@4MHz hatte ich diese Probleme nicht.
Fuses:
High 0xDC
Low 0xE2
Extendend 0xF9

Code:
#include <avr/io.h>
#include <util/delay.h>
#include "lcd-routines.h"
#include "includes.h"

int main () {
  DDRD  &= ~(1<<PD3) | (1<<PD2);
  PORTD &= ~(1<<PD3) | (1<<PD2);
  lcd_init();
  while (1) {
    if (debounce( PIND, PD3 )) { //Taster 7
      lcd_clear();
      lcd_string("test");
      DDRD ^= (1<<PD6);
    }
  }
}

Jemand eine Idee?

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bastian F. schrieb:
> DDRD  &= ~(1<<PD3) | (1<<PD2);
>   PORTD &= ~(1<<PD3) | (1<<PD2);

fehlende Klammern? Weis die Operatorenrankings nicht auswendig.

Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Floh schrieb:
> Bastian F. schrieb:
>> DDRD  &= ~(1<<PD3) | (1<<PD2);
>>   PORTD &= ~(1<<PD3) | (1<<PD2);
>
> fehlende Klammern? Weis die Operatorenrankings nicht auswendig.

Stimmt aber hat nichts mit dem LCD zu tun.
Komisch, dass der Compiler sich nciht beschwert. Tasten funktionieren 
trotzdem.

Autor: Floh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bastian F. schrieb:
> Und wenn nicht, würde sich der Compiler beschweren

Es geht mir mehr um die Logik. Syntaktisch passt es ja.

Mach die LCD-Ausgabe mal ohne auf den Taster zu warten, damit man den 
als Fehlerquelle ausschließen kann. :-)

Autor: Bastian F. (bastian_f)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok, es lag anscheinend an oben angehängten Bibliotheken.
Nehme ich die komplett raus, funktioniert alles normal.
Warum auch immer...
Ich hatte die oben nicht drin, da ich den hier geposteten Code so klein 
wie möglich halten wollte und nicht davon ausgegangen bin, dass die auf 
sowas Einfluss haben könnten.
Es war auch so, dass mit diesen das Display teilweise gar nicht 
funktioniert hat, aber da bin ich von einem Wackler oä ausgegangen.
Jetzt, ohne die, geht alles wieder normal.
teufelswerk ;)

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ok,  es lag anscheinend an oben angehängten Bibliotheken.
> Nehme ich die komplett raus, funktioniert alles normal.
> Warum auch immer...

..die verschwendet riesige Mengen Speicher, schau mal nach ob Du den 
tatsächlich über hast.. wenn nicht dann pack die Daten doch mal in den 
Flash. Wenn doch dann machs trotzdem ;-)

HTH

Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Device: atmega88

Program:    4288 bytes (52.3% Full)
(.text + .data + .bootloader)

Data:       1019 bytes (99.5% Full)
(.data + .bss + .noinit)

Scheint knapp zu sein, aber "sollte" doch noch gehen, oder?

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Data:       1019 bytes (99.5% Full)
> (.data + .bss + .noinit)
>
> Scheint knapp zu sein, aber "sollte" doch noch gehen, oder?

..vergiss es, das ist hoffnungslos. Oder positiv betrachtet: (Einen) 
Fehler gefunden :-) Jetzt musst den nur noch beheben, sollte mit [1] 
aber kein großes Problem sein, denn alleine die beiden Arrays in obiger 
Lib belegen grob 768 Bytes (von 1k verfügbarem SRAM).

HTH und HF

[1] http://www.nongnu.org/avr-libc/user-manual/pgmspace.html

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.