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.
AVE