Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

[AVR][GCC][ECLIPSE] - schemat wielopoziomowego menu

adampyndzel 28 Jul 2012 01:33 3397 11
  • #1
    adampyndzel
    Level 16  
    Witam.

    Chciałbym się nauczyć tworzyć wielopoziomowe menu z interpretacją graficzną na LCD. Powiedzmy mam diodę RGB sterowaną przez PWM, 5 przycisków podłączonych do mikroklocka oraz wyświetlacz. Przyciski powiedzmy będą typu +, -, prawo(dioda R), lewo (dioda B) itp. czyli tzw wybór zmiany koloru. Próbowałem już różnych możliwości i każda daje jakiś zamierzony efekt ale całości nie potrafię uzyskać. Więc proszę elektrodowiczów znających j. C o jakiś schemat lub podpowiedź w naprowadzeniu na tworzenie menu na LCD.
  • #2
    gulson
    System Administrator
  • #3
    tadzik85
    Level 38  
    Tematy o menu na forum są. Sam umieściłem tu pewien skrypt dla początkujących.
  • #4
    adampyndzel
    Level 16  
    myślałem o instrukcjach wybory switch(x) w której to argument x byłby poziomem w menu, a w tych switch(x) były by zaś takie same switch(y) gdzie y to byłby poziom podmenu ale niewiem czy takie coś to dobre myślenie.
  • #5
    tymon_x
    Level 30  
    adampyndzel wrote:
    myślałem o instrukcjach wybory switch(x) w której to argument x byłby poziomem w menu, a w tych switch(x) były by zaś takie same switch(y) gdzie y to byłby poziom podmenu ale niewiem czy takie coś to dobre myślenie.

    Za dużo niepotrzebnego kodzenia, lepszy wyborem jest pewna struktura opisująca obiekt, bardzo przydatne wskaźniki na funkcje, wskaźniki łączące kolejne obiekty w listę i tak dalej. Kolejność w pionie byłaby trzymana w tablicy, poziome też, ale tablica z menu miałaby wskaźnik do tablicy Swoich opcji, podmenu. Łatwiej coś takiego hermetyzować, trzymać wszystkie właściwości obiektu (rozmiar, kolor, metody rysowania, wywołania akcji i itp) i rozbudować o dalsze opcje. Bardziej elastycznie wygląda wykorzystanie przydziału dynamicznego za pomocą malloc, bo wtedy można obejść sztywną tablicę.
  • #6
    gaskoin
    Level 38  
    Sam gdzieś wrzuciłem na forum kod o którym pisze tymon. switche są bez sensu z tego względu, że jakiekolwiek modyfikacje typu zmiana rozmiaru, dodanie menu to jest masakra dla programującego.

    Na potrzeby alfanumerycznego wyświetlacza i menu w jednej linijce, struktura może trzymać wskaźniki do elementu poprzedniego, następnego i do pierwszego elementu podmenu(który ma ten sam typ) itd.

    Całość wymaga trochę większej gimnastyki, ale efekt finalny jest bardzo elastyczny.
  • #8
    Elektronik9
    Level 30  
    Wielopoziomowe menu w C dla LCD masz w książce Tomasza Francuza.
  • #9
    adampyndzel
    Level 16  
    Quote:
    Wielopoziomowe menu w C dla LCD masz w książce Tomasza Francuza.


    a jeśli ktoś niema książki Tomasza Francuza???
  • #10
    perlon
    Level 19  
    Kody źródłowe z książki są na FTP Helionu dostępne dla każdego.
  • #12
    User removed account
    User removed account