Hallo, ich steuere z.Z. ein Grafik Display (320x240Pixel, 65K Farbe) mit einem Xmega128A1 über UART (SPI-Modus 16Mhz) an. Wenn ich das Display komplett neu beschreiben möchte dauert es "relativ" lange und die CPU ist voll ausgelastet. Würde es helfen die einzelnen Pixel (Farbe) Information erst mal in Array(Buffer) zu schreiben und dann mit Hilfe von DMA zu dem Display zu transportieren? Dabei würde das Array aber leider alle grenzen Sprengen (320*240*2). Gibt es vielleicht "clevere" Lösung? Viele Grüße Tobias
Müssen echt alle Pixel des Displays neu beschrieben werden? wenn nein: nur die Pixel beschreiben die sich geändert haben grüße, danie
Danke für deine Antwort. Ist es den unüblich das ganze Display neu zu beschreiben? Es ist den sinnvoller sich im Programm zu merken welche Pixel ich beschrieben habe und welche ich dann neu beschreiben muss? Viele Grüße Tobias
Hi, Ich hab bei einem Projekt mit dem S65 die Erfahrung gemacht, dass DMA wesentlich schneller ist, als jeden Pixel einzeln zu übertragen. Zudem sieht's besser aus, das komplette Bild erst intern aufzubauen und dann in einem Schwung zu übertragen, als die Bildteile direkt auf dem Display zuzeichnen. Das ganze braucht natürlich entsprechend viel RAM, beim S65 ging's noch :) Gruß Lasse
Hallo, würde es vielleicht gehen wenn man ein Array für die Spalten und ein Array für Zeilen aufbaut und dann via DMA die beiden Arrays auf das Display zu übertragen? Ist das mit dem DMA möglich? Ich ging davon aus das man in der Init. dem DMA sagen muss wie groß der Buffer ist, auf dem er zugreifen kann... Viele Grüße Tobias
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.