-
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.
Następne wpisy z tego wątku
- 26.10.09 20:27 Jerry1111
Najnowsze wątki z tej grupy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Aparat, zewnętrzny mikrofon, brum
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
Najnowsze wątki
- 2024-10-18 uwazajmy na haczyki w umowach
- 2024-10-18 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-10-18 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-10-18 Gdańsk => Software .Net Developer <=
- 2024-10-18 Warszawa => Junior Rekruter <=
- 2024-10-18 Warszawa => Key Account Manager <=
- 2024-10-18 Przeróbka na zgrzewarkę "równoległą"
- 2024-10-18 Ostrów Wielkopolski => Laravel PHP Developer <=
- 2024-10-18 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-18 doładowania 5zł
- 2024-10-17 Prośba o identyfikację komponentu
- 2024-10-17 Warszawa => Expert Recruiter 360 <=
- 2024-10-17 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2024-10-17 Warszawa => Software Engineer .Net <=
- 2024-10-17 Warszawa => Senior SAP HANA Developer <=