logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

AVR/C - Jak rejestrować zdarzenia i stan menu bez zmiennych globalnych?

filus66 20 Wrz 2013 21:03 1974 4
REKLAMA
  • #1 12759019
    filus66
    Poziom 10  
    Witam.

    Potrzebuje na szybko podpowiedzi.
    Mam problem z następującą kwestią.

    Jak rejestrować wykonanie pewnego zdarzenia/operacji/funkcji?
    Z problemem spotkałem się wielokrotnie - zawsze sobie jakoś radziłem, ale zdaje mi się, że nie do końca prawidłowo.

    Męczę się aktualnie z oto takim problemem.
    Mam funkcje do obsługi klawiszy i tak:
    klawisz 1 - umożliwia przesuwanie się po menu w górę
    klawisz 2 - umożliwia przesuwanie się po menu w dół
    klawisz 3 - umożliwia włączenie menu (ewentualnie, jeśli menu jest włączone to służy jako przycisk do zatwierdzania)

    i tutaj pierwsze pytanie.
    W jaki sposób "odnotować" fakt, że menu zostało już włączone? Zawsze robiłem to wykorzystując zmienne globalne(ale, to podobno na dłuższą metę nie jest dobrym rozwiązaniem).
    Ponadto od informacji o tym czy menu zostało już włączone chce uzależnić możliwość przewijania menu w górę lub w dół. (Tzn przy włączonym menu - dwa pierwsze klawisze przewijają menu, jeśli menu wyłączone to są wykorzystywane do czegoś innego).

    Podsumowując - rozchodzi się tylko o to, jak poprawnie rejestrować takie zdarzenia?

    Jestem osobą początkującą w tej dziedzinie i zdaję sobie sprawę, że pewnie jest to błahy problem. Proszę jednak o wyrozumiałość.
  • REKLAMA
  • #2 12759117
    tadzik85
    Poziom 38  
    Tematów i przykładów menu na avr w internecie znajdziesz wiele.
    Sam na lamach tego forum zamieściłem jedno.
  • REKLAMA
  • REKLAMA
  • #4 12761683
    perlon
    Poziom 20  
    excray napisał:
    Poszukaj po haśle "maszyna stanów" albo "automat skończony".
    https://www.elektroda.pl/rtvforum/topic2391551.html]

    Ja tylko dodam, że maszyny stanów też opierają się na zmiennych "static" definiowanych de facto jako globalne z widocznością tylko w procedurze gdzie zostały zadeklarowane. Niemniej faktycznie dobrym rozwiązaniem jest obsługa stanu menu jako procedura wołana z pętli głównej z zaimplementowaną maszyną stanów.
  • #5 12765348
    filus66
    Poziom 10  
    Dziękuje wszystkim za zainteresowanie problemem.

    Dziękuję za nakreślenie kierunku poszukiwań.
    Udało mi się już problem rozwiązać ;)

    Pozdrawiam wszystkich serdecznie ;)
REKLAMA