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


von Silvan K. (silvan) Benutzerseite


Angehängte Dateien:

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

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

von Silvan K. (silvan) Benutzerseite


Lesenswert?

will niemand mit mir reden?

von Stefan B. (stefan) Benutzerseite


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=1142523140/15

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.

von Silvan K. (silvan) Benutzerseite


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

von Martin J. (bluematrix) Benutzerseite


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

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
Noch kein Account? Hier anmelden.