PIC24FJ + S65 Display ohne Funktion

OP Persönliche Seite #2869188
Lesenswert?

Moin,

ich habe mich mal mit einem S65 Display auseinander gesetzt, da mir 
HD44780's langsam zu langweilig werden ;) Im selben Zug hab ich mich 
auch gleich an einen PIC24FJ, genauer den PIC24FJ16GA002 gemacht, da ich 
sonst nur ATMega und ATXMega Erfahrung hab. Den Schaltungsaufbau findet 
ihr in der angehängten Bilddatei.

Soweit so gut, ich hab mir mal den Code von Watterott zur Herzen 
genommen (https://github.com/watterott/S65-Shield) und auf das nötigste 
für ein LPH88 Display reduziert. Den entstandenen Arduino Code seht ihr 
in der "s65_display.ino" Datei. Dieser funktioniert auch in der PIC 
Schaltung, ich hab nur eben die Leitungen für Reset, CS, CLK und Data 
durch einen einfachen Level-Shifter von den 5V vom Arduino auf 3.3V 
abgesenkt, sonst ist alles gleich geblieben.

Nun hab ich diesen Arduino Code nach C für meinen PIC umschreiben 
wollen, soweit auch kein großes Problem, aber am Ende des Tages/Woche 
funktioniert es nicht... ich kann mit dem Oszi zwar die Signalpegel vom 
PIC zum S65 Display messen aber der Init scheint nie zu klappen...

Ich vermute momentan entweder einen sau doofen Fehler meinerseits oder 
eine mir noch unbekannte Standardkonfiguration eines PIC Pins oder einer 
Peripherie, die mir momentan dazwischen funkt. Ich habe zudem 
absichtlich mich erstmal für BitBanging entschieden um es so einfach wie 
möglich zu halten.

Würde mich sehr freuen wenn mal jemand drüberschauen kann, ich weiss 
leider nicht mehr weiter :(

Schöne Grüße
Chris
Angehängte Dateien:
OP Persönliche Seite #2869783
Lesenswert?

Stefan H. schrieb:
> Ich habe auch schon einige Erfahrung mit dem S65 Display (hat immer ewig
> gekostest das zum laufen zu bringen) - aber es läuft dann doch
> irgendwann.
>
> Zum Problem:
> Kann es sein, dass der RS Pin des S65 (1 auf dem Pin Header) nicht
> beschaltet ist ?

Ja das ist korrekt, Pin 1 wird meines Wissens nach beim LPH88 Chipset 
nicht verwendet, im Watterott Source 
(https://github.com/watterott/S65-Shield/blob/master/src/libraries/S65Display/lph88.cpp) 
wird der Pin auch nur einmalig auf disabled gesetzt und nie genutzt. 
Auch in den Sources von superkranz.de ist ein entsprechender Kommentar 
drin:
1
PORTB |= _BV(LCD_RS);  // not used from LPH display
2
DDRB |= _BV(LCD_RS);
Zudem funktioniert das Display am Ardunio Uno mit dem obigen Code auch 
ohne Pin 1 problemlos.
#2869799
Lesenswert?

Christian Hunke schrieb:
> Ja das ist korrekt, Pin 1 wird meines Wissens nach beim LPH88 Chipset
> nicht verwendet, im Watterott Source
> (https://github.com/watterott/S65-Shield/blob/maste...)
> wird der Pin auch nur einmalig auf disabled gesetzt und nie genutzt.
> Auch in den Sources von superkranz.de ist ein entsprechender Kommentar
> drin:PORTB |= _BV(LCD_RS);  // not used from LPH display
> DDRB |= _BV(LCD_RS);
> Zudem funktioniert das Display am Ardunio Uno mit dem obigen Code auch
> ohne Pin 1 problemlos.

Ahso - ich bin das vom LS020 Typ anders gewohnt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren