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

ATmega32 - Jak stworzyć menu wyboru kombinacji migania diod?

maverick09877 15 Sty 2016 10:13 1344 6
REKLAMA
  • #1 15336216
    maverick09877
    Poziom 8  
    Witam, mam układ taki jak na zdjęciu. ATmega32 - Jak stworzyć menu wyboru kombinacji migania diod?

    W tym momencie mój układ działa w następujący sposób: po wciśnieciu przycisku P1 program startuje i jest kombinacja migania diód.
    Potrzebuję pomocy, przy zrobieniu prostego menu. Konkretnie, by na wyświetlaczu było napisane, którą kombinację migania diodami chcę wybrać. Np zrobię 6 kombinacji. I jeśli będę chciał wybrać 4 to muszę wcisnąć przycisk 4 razy i adekwatnie pozostałe. Jest ktoś w stanie pomóc w jaki sposób mam to zrobić w kodzie?

    Dodano po 39 [minuty]:

    To mój kod:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 15336355
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #3 15336905
    BlueDraco
    Specjalista - Mikrokontrolery
    I jeszcze: jak jedną instrukcją (zamiast ośmioma) ustawić wartość DDRx lub PORTx, np.

    DDRA = 0xff;

    PORTA = 0xff;

    PORTA = 0;

    Kolejny etap wtajemniczenia polega na uwierzeniu, że żeby bit o wartości 0 nadal miał wartość 0 nie trzeba go zerować - wystarczy nic z nim nie robić.

    ;)
  • REKLAMA
  • #4 15336923
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #5 15337126
    maverick09877
    Poziom 8  
    Dziękuje za pomoc, fakt kod wymaga dużej poprawy. A czy do takiego menu jednopoziomowego, że wybór opcji zależy od ilości wciśnięć przyciska muszę skorzystać z przerwań, czy jest jakaś inna opcja?
  • #6 15337213
    Konto nie istnieje
    Konto nie istnieje  
  • #7 15340594
    maverick09877
    Poziom 8  
    A na czym polegałaby realizacja w main? Bo o przerwaniach nie wiem wiele.
    Tutaj mam mniej więcej algorytm jak to mogłoby wyglądać. Na początku był pomysł wybierania opcji po konkretnej ilości wciśnięcia przycisku. A teraz myślę, że łatwiej byłoby zrobić coś takiego:
    ATmega32 - Jak stworzyć menu wyboru kombinacji migania diod?

    Tylko gdy zagnieżdżę pętle if, w pętli if to już mi nie łapie. Jest jakaś opcja, żeby nie korzystać z przerwań?
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W tym kodzie jak zagnieżdżę if-a w if-ie to po dwukrotnym wciśnięciu już nie łapie. Coś nie tak z _delay_ może być czy nie da się tego zrealizować na if-ach?
REKLAMA