Tak oto wygląda ekran główny
Na ekranie tym oprócz elementów typu Button (element "wypukły" na samej górze z napisem LCD DEMO), EditBox (element "wklęsły" z wartościami pomiarów) jest jeszcze prosty wykres wyświetlający dane zawarte w tablicy uint8_t chart[100].
Po wywołaniu funkcji graphic_menu pokazuję się wspomniane menu według dwuwymiarowej struktury jak w poprzednim projekcie, czyli:
MENU!, MENU2, MENU3......
MENU1_1,MENU2_1,MENU3_1...
MENU1_2, MENU2_2.......
Gdy liczba elementów menu jest większa niż pozwalają na to wymiary ekranu to lista jest przewijana
Po wybraniu menu głównego przechodzimy do podmenu
Poszczególne jego elementy to przykładowo:
regulacja poziomu podświetlania (za pomocą elementu ProgressBar)
wprowadzanie przykładowej wartości (za pomocą elementu EditBox)
i ekran informacyjny
Przy korzystaniu z elementów interfejsu dla tego wyświetlacza należy pamiętać, że oś X jest pionowa a oś Y pozioma, aczkolwiek podczas konfiguracji wyświetlacza można go trochę programowo "poobracać".
Przy pisaniu tych procedur częściowo korzystałem z materiałów różnych autorów, które udało mi się znaleść w internecie.
Dołożyłem jeszcze obsługę wirtualnej pamięci danych EEPROM (wg noty katalogowej AN2594). Jak wiadomo STM32 nie posiadają wydzielonej pamięci danych EEPROM, jak to miało miejsce np w AVR-ach, więc trzeba używać pamięci FLASH normalnie używanej jako pamięć programu.
Przykład użycia wirtualnej pamięci EEPROM jest w obsłudze menu Settings->Test input, gdzie wprowadzana wartość jest odczytywana i zapisywana w pamięci EEPROM oraz w menu Settings->Backlite gdzie poziom podświetlania też jest zapisywany do EEPROM.
W tym poście trochę więcej o emulacji pamięci EEPROM.
Po doświadczeniach z kilkoma sztukami wyświetlaczy (co prawda tym razem ze sterownikiem Epsona, ale może to też dotyczyć sterowników Philipsa) okazuje się, że napięcie zasilania 3.3V może być za wysokie do prawidłowego działania wyświetlacza. Niektóre egzemplarze działają prawidłowo, a niektóre robią sobie z programisty "jaja". Dlatego warto profilaktycznie obniżyć napięcie zasilania wyświetlacza np. poprzez zastosowanie zwykłej diody.
Link do projektu -> http://krzoska.tk/elektronika/stm32/nokia%206100.zip
Schemat podłączenia LCD
margin-top: 5px; margin-right: 0px; margin-bottom: 5px; margin-left: 0px; line-height: 1.4em;span style=