sobota, 31 grudnia 2011

LCD cz.2 - Nokia 3310 LPC1768 i AVR

Przyszedł czas na opisanie moich dokonań z lcd od nokii 3310. Biblioteka dla AVR na której się wzorowałem umożliwia obsługę programowego jak i sprzętowego SPI. Na stronie autor również umieścił program MicroLCD, który umożliwia tworzenie własnych bitmap do wyświetlenia. Na bazie tej biblioteki można w łatwy sposób przepisać ją na inne platformy.

Moja biblioteka jest przeznaczona dla LPC1768, ale również można ją przekształcić, ta jak wspomnianą wyżej na każdą inną architekturę.Znalazł się w niej plik 3310cfg.h, który służy do konfiguracji całej biblioteki. Wybiera się między innymi czy ma być sprzętowe, czy programowe SPI, oraz które funkcje są nam potrzebne.

LCD 3310 korzysta z interfejsu SPI. W przypadku sprzętowego, wystarczą tak naprawdę dwie linie MOSI oraz SCK, pozostałymi najlepiej sterować programowo. Przy inicjalizacji portów, należy włączyć bezwzględnie wszystkie jako wyjście, nawet też od SPI.

W pliku main.c znajduje się przykład jak należy korzystać z biblioteki.
WriteImage
Funkcja służy do wyświetlania grafik z programu MicroLCD.
WriteBmp
Wyświetla xbm z programu Gimp.
DispLcd(const char *napis, char x, char y)
Funkcja wyświetla string w podanej lokalizacji. Czcionka jest ustawiona na rozmiar 5x7 pikseli, znajduje się ona w tablicy rom_gen. A x i y symbolizują współrzędne znaku w postaci komórki o rozmiarach 5x7 piksela, coś na zasadzie LCD 2x16. Znaki są kodowane zgodnie z kodem ASCII.
WriteChar
Natomiast wyświetla dowolny znak.

Cała biblioteka składa się z 3310.c, 3310.h, 3310cfg.h, cg_rom.h, graph.c, graph.h, main.c, main.h.


AVE

Brak komentarzy:

Prześlij komentarz