mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Nokia 3310 Display an ATMega48 tut nichts


Autor: Silvan König (silvan) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebes Forum,
Ich hab da mal wieder ein Problem:

Ich versuche das Display eines Nokia 3310 anzusteuern. Leider ohne 
Erfolg.
Kann jemand sich mal den Code ansehen, damit ich ausschließen kann, das 
es daran liegt? Pinbelegung steht im Anhang, dazu:
Das Display sowie der AVR werden bei 3.3V betrieben. Vout liegt über 
Kondensator (1µF) auf GND (hab ich abgekupfert von: 
http://hobbyelektronik.org/VB/gLCD/PCD8544/index.htm )

Kann es daran liegen, dass ich an den AVR einen Quarz angeschlossen 
habe, den ich jedoch nicht verwende (Fuses nicht entsprechend gesetzt)?

Zur Fehlerbeschreibung kann ich nicht viel sagen, da das Display einfach 
gar nichts anzeigt (aber dennoch einwandfrei funktioniert, das hab ich 
mit dem Handy getestet!)

Danke

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heisst keine Antwort, dass der Code so korrekt ist, oder hat niemand 
Ahnung davon?
(okay, letzteres kann ich ausschließen)

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
will niemand mit mir reden?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe kein Nokia3310 und keinen Atmega48, viele andere bestimmt auch 
nicht.

Ist deine Ansteuerung so wie in bekannten Nokia3310 Projekten
http://www.mikrocontroller.net/articles/LCD#NOKIA_3310
oder hast du was geändert? Wenn ja, was?

Die Kontrasteinstellung habe ich schon anders gesehen:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=11...

Sind deine Delay-Routinen genau? (F_CPU korrekt?, Code Optimierung ein?)

Dies sieht mir out-of-sequence aus:
> int main(void) {
> PORTC &= ~(1<<PC0); //Reset (active LOW)
> PORTC |= (1<<PC0);  //Reset (active LOW) -status beenden (high setzen)
> PORTC |= (1<<PC2);  //Display SPI Interface einschalten
> DDRC = 0x0F;  //PC0, PC1, PC2, PC3 = ausgänge
Ich hätte erwartet, dass DDRC früher gesetzt wird.

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. schrieb:
> Dies sieht mir out-of-sequence aus:
>> int main(void) {
>> PORTC &= ~(1<<PC0); //Reset (active LOW)
>> PORTC |= (1<<PC0);  //Reset (active LOW) -status beenden (high setzen)
>> PORTC |= (1<<PC2);  //Display SPI Interface einschalten
>> DDRC = 0x0F;  //PC0, PC1, PC2, PC3 = ausgänge
> Ich hätte erwartet, dass DDRC früher gesetzt wird.

Okay, Stefan, ich weiß, dass ich doof bin. Aber so doof, dass ich die 
Datenrichtung bestimme, nachdem ich die Datengeschrieben habe, so doof 
hätte ich mich nicht eingeschätzt. Danke, das wird mein Problem 
sicherlich beheben.

Danke

Autor: Martin J. (bluematrix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schau mal hier:  http://www.jtronics.de/elektronik-avr.html

... da gibt es eine fertige Lib
die ist getestet und sollte auf ner menge controller mit twi 
funktionieren.

ansonsten ist dieser Thread der für das NOKIA

Beitrag "Nokia 3310 Lcd Ansteuerung in AVR-GCC"

viel erfolg
Martin

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.