mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega128 + SD Card + 3.5" Display


Autor: Thorsten Wurm (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einen Atmega128, der mit einer SD-Speicherkarte und einem 
TFT-Display verbunden ist. Von der SD-Karte werden die Bilddaten 
eingelesen und dann auf dem Display ausgegeben.
Das funktioniert auch prima. Leider ist der Bildaufbau jedoch relativ 
langsam. Es dauert ca. 5 sek bis ein komplettes Bild dargestellt wird.
Im Moment ist das Display falsch angeschlossen. Die Pins passen nicht zu 
den Datenleitungen, so dass ich nicht einfach Port A = 255 sagen kann, 
sondern jeden einzelnen IO-Port berechnn muss.

Würde der Bildaufbau wesentlich schneller funktionieren, wenn die Ports 
richtig angeschlossen wären? Oder gibt es da eine andere Ursache, die 
das langsam macht?

Mfg,
Thorsten Wurm

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich nicht Irre sind die Unmengen von IF-Abfragen dein 
Hauptproblem.
Einfach nur 2 Ports zu verwenden und dann auszugeben würde dir 
sicherlich jede Menge sparen.
(Du machst für jeden Pixel 2 If-Abfragen, rechne dir dass mal auf deine 
Auflösung hoch)

Anselm

Autor: Bernd O. (bitshifter)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thorsten Wurm schrieb:
> [...]
> Würde der Bildaufbau wesentlich schneller funktionieren, wenn die Ports
> richtig angeschlossen wären? Oder gibt es da eine andere Ursache, die
> das langsam macht?

Hallo Thorsten,

probier's doch einfach aus, indem Du die Routine, die die Bits 
"verwürfelt" (also an das suboptimal angeschlossene Display anpasst) so 
änderst, dass nicht mehr vertauscht wird. Auf dem Display siehst Du dann 
natürlich nur noch Müll, aber die Zeit ist repräsentativ. Wenn's 
schneller geht, rentiert sich das vertauschen.

Dass Basic nicht die optimale Sprache ist, wenn es auf Geschwindigkeit 
ankommt weißt Du ja bestimmt.

Gruß,
Bernd

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Editieren geht nimmer:

p.S.: Du kannst auch schreiben:
_db4 = X.2 <- 2te BinärStelle der Variable X. Vielleicht bringt dass 
auch was.
Du hast ja ein 16Bit Format 1111.1111.1111.1111 - würde viel sparen ;)

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Upsi, Bit 2, nicht 2te Stelle
X.0 -> X.15
Anselm

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.