www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik dogm128 mit st7565r - Display RAM im PIC speichern


Autor: Tobias John (tobiasjohn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe ein EA-DOG M 128 Grafik-Display an einen PIC16F877A 
angeschlossen.

Initialisierung usw. geht auch wunderbar und Daten kann ich auch an das 
Display senden.

Lediglich beim Verständnis vom Display-RAM-Aufbau habe ich einige 
Probleme.
Ich habe mir mal die Routinen von diesem Beitrag angesehen 
(Beitrag "Re: EA DOGM128 128x64 Grafik Display") die leider für einen 
AVR geschrieben wurden.

Wenn ich die Routinen umschreibe für meinen Compiler dann bekomme ich 
Probleme weil ich versuche ein array mit 1024 bytes zu verwenden. Mein 
Compiler gibt mir dann den Fehler "es fehlen 1024 byte".

Das Problem bei dem Display ist ja, dass ich die Daten aus dem Display 
nicht mehr auslesen kann da es nur einen SDI besitzt und keinerlei Daten 
zurücksendet.

Wie kann ich die kompletten Daten im RAM vom Mikrocontroller halten ohne 
das genannte Problem?

Ich verwende den PICC PRO (im Lite-Mode) von HI-TECH - falls das wichtig 
ist ;-)

Danke & Gruß,
 Tobias

Autor: picbastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du möchtest ein Array von 1024 Bytes in 368 Bytes RAM unterbringen? Bist 
du sicher, dass das geht?

Autor: Tobias John (tobiasjohn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
picbastler wrote:
> Du möchtest ein Array von 1024 Bytes in 368 Bytes RAM unterbringen? Bist
> du sicher, dass das geht?

Na ebend nicht ;-) da ist ja das Dilemma - ich muss aber doch irgendwie 
den Display-Inhalt manipulieren ohne ihn auszulesen - wie soll das sonst 
gehen als ihn im RAM vom PIC zu hinterlegen <-- Die Frage möchte ich 
klären G

Autor: morph1 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
gar nicht ;) größeren pic besorgen

zb der 18f4685 ist pinkompatibel und hat 3kb ram, da mach ich genau das 
was du vorhast mit dem unteren drittel

Autor: oli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab eine Lib (allerdings auch für den AVR) geschrieben, die
nur nur eine Page des dogm128 im Speicher hält:
http://code.google.com/p/dogm128/
Damit sollten die 368 Bytes genügen. Portierung zum PIC sollte kein 
Problem sein.

Grüße,
Oli

Autor: MagIO (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Muss der Inhalt denn überhaupt bekannt sein? Wenn man z.B. feste 
Positionen hat für Text oder Icons ...., dann kann mn doche einfach 
überschreiben.

Vielleicht kannst Du Dir ja auch einfach merken was wo ausgegeben wurde, 
dann kann mans bei einer erneuten Ausgabe berücksichtigen.

Autor: Tobias John (tobiasjohn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
MagIO schrieb:
> Muss der Inhalt denn überhaupt bekannt sein? Wenn man z.B. feste
> Positionen hat für Text oder Icons ...., dann kann mn doche einfach
> überschreiben.
>
> Vielleicht kannst Du Dir ja auch einfach merken was wo ausgegeben wurde,
> dann kann mans bei einer erneuten Ausgabe berücksichtigen.

Versuch mal einen Kreis zu zeichnen bzw. zwei Kreise überlappend oder 
mehrere Linien... dann musst du wissen was im Display steht.

oli schrieb:
> Ich hab eine Lib (allerdings auch für den AVR) geschrieben, die
> nur nur eine Page des dogm128 im Speicher hält.
> Damit sollten die 368 Bytes genügen. Portierung zum PIC sollte kein
> Problem sein.

Selbiges Problem - wenn eine Linie oder ähnliches über zwei pages geht, 
dann hast du das selbe Problem...

Gruß,
Tobias

Autor: stepp64 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PIC mit mehr RAM benutzen oder statischen RAM am PIC anschließen. Da 
bräuchtest du aber etliche Portpins um den zu steuern. Gibt es 
eigentlich statischen RAM über I2C oder SPI?

Gruß Sven

Autor: arno nyhm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich gibt es soetwas: 
http://www.microchip.com/wwwproducts/Devices.aspx?...
...wäre hier ganz klar eine Option, wenngleich ein größerer Controller 
mit ausreichenden OnChip-Resourcen ganz klar die einfachere Lösung wäre, 
wenn dies denn in Frage kommt.

Autor: oli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias John schrieb:
>> Ich hab eine Lib (allerdings auch für den AVR) geschrieben, die
>
>> nur nur eine Page des dogm128 im Speicher hält.
>
>> Damit sollten die 368 Bytes genügen. Portierung zum PIC sollte kein
>
>> Problem sein.
>
>
>
> Selbiges Problem - wenn eine Linie oder ähnliches über zwei pages geht,
>
> dann hast du das selbe Problem...

Nein, meine lib bekommt genau das ja hin. Mit der dogm128-lib kann man 
beliebig text und graphik mischen und übereinander legen. Trotzdem 
braucht die lib nur 128 bytes (=eine page des dogm128) im RAM (und noch 
ein bischen stack und ein paar extra bytes für variablen)

Sonst hätte ich ja das dort gezeigte telespiel gar nicht programmieren 
können.

Grüße,
Oli

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.