Szukaj

Nowości

28 maj 2020
06 luty 2020
05 grudzień 2019
17 sierpień 2019

E-mail

janusz<at>krzoska.eu

STM32 - LCD od Nokii 6100 - obsługa menu i podstawowe elementy interfejsu użytkownika + emulacja pamięci EEPROM

 

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=

Free Joomla! template by L.THEME