eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaUkład pamięci w LCD JM12864ARe: Układ pamięci w LCD JM12864A
  • Data: 2009-10-25 14:52:18
    Temat: Re: Układ pamięci w LCD JM12864A
    Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Konop wrote:
    >> a) Fonty bitmapowe. 99% dostarczane jest w organizacji poziomej
    >> bajtów. Trzeba przerabiać.
    > No fakt, tu jest problem, jeśli ma się gotowe ;)... ale czy stworzenie
    > algorytmu, który by to przerabiał dużo zajmie?? Może prosty programik,
    > napisany w pół godziny wszystko przerobi w myk i otrzymasz gotowe fonty??

    Przeciez nie mowie, że się nie da. Tylko to dodatkowa praca. Zysku brak
    poza wspomnianymi czcionaki proporcjonalnymi.

    >> b) Niskopoziomowe algorytmy rysowania lini czasem wykorzystują fakt,
    >> że bajty leżą obok siebie bo moge wykonać (++ptr) i załatwic na raz 8
    >> bitów. W przypadku tego wyswietlacza: w poziomie można narysować na
    >> raz 1 pixel, a w pionie nie można zrobić ++ptr. Oganizacja sklejania
    >> bajtów dłuższymi krawędziami jest nietypowa.

    > Hmmm... zależy ile tych linii rysujesz i jakiej potrzebujesz wydajności
    > ;)...

    Powiedzmy że najwiekszej.

    > ja ostatnio się takim LCD bawiłem i nie chciało mi się bawić w
    > rozróżnianie poziomych i pionowych linii, po prostu rysowałem od (x1,
    > y1) do (x2, y2)

    Większość sensownych algorytmow rysowania linii nie polega na
    istniejacej funkcji "plot(x,y)" tylko zakłada pewna organizację pamięci
    i manipuluje bajtami/bitami. Tak jest szybciej niż za każdym razem wołać
    algorytm liczący offsety w plocie. Dla takiego wyswietlacza jak JM12864A
    wymaga to gruntownego przepisania i raczej nie jest to kosmetyka. Po
    prostu "reszta swiata" ma organizację szeregową pixeli.

    > ;)... A poza tym, czy aż taka duża jest różnica pomiędzy napisaniem
    > ++ptr a ptr+= 8 ?? ;)... wiem, osobna linia kodu, no ale mimo wszystko
    > ;)...

    Niektore procesory mają support dla post inkrementacji/dekrementacji.
    Jedna instrukcja maszynowa wklada coś do RAM i przemiesza ptr o jedna
    szerokość danych. Na przykład MC680x0.

    > wielu zmian.. ale niestety, chyba tego nie unikniesz

    Już uniknąłem, wsadzilem po drodze ATMega8 ktory robi konwersje
    real-time 50ramek/s (grubo powyżej czasu reakcji LCD). Wyszło taniej niz
    przerabiać pół bibliteki graficznej. Dodatkowo robi konwersje z UARTa,
    więc mogę w procku zastosować wprost DMA do wysyłania liniowego
    framebuffera. Ideałem dla mnie było by coś takiego zaszyte w LCD i wiem
    ze niektore z SPI tak mają, ale boje się ze w grupie 128x64 czekają mnie
    jakieś niespodzianki. Wole zapytać zawczasu czy to norma.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: