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


von Thorsten Wurm (Gast)


Angehängte Dateien:

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

von Anselm 6. (anselm68)


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

von Bernd O. (bitshifter)


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

von Anselm 6. (anselm68)


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 ;)

von Anselm 6. (anselm68)


Lesenswert?

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

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.