Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

AVR GCC - Niekontrolowane wyjście z pętli do...while

Zolw2305 14 Gru 2014 09:11 618 3
  • #1 14 Gru 2014 09:11
    Zolw2305
    Poziom 5  

    Witam,

    Od dłuższego czasu borykam się z problemem ustawienia godziny za pomocą pilota RC5, w projekcie zegara cyfrowego. Wyświetlanie działa ok, odbiór danych z pilota też, komunikacja z RTC bez zarzutu. Problem pojawia się w samej funkcji ustawiania godziny. Zrealizowałem to za pomocą funkcji do...while, jednak bez względu na warunek w while program opuszcza pętlę do po wykonaniu jedej instrukcji (zwiększenie liczby lub zmniejszenie liczby).
    Założenie jest takie że po wejściu w funkcję ustawiania godziny, ustawiamy godzinę (za pomocą przycisków +/-), naciskamy przycisk set, ustawiamy minuty, naciskamy set, ustawiamy sekundy i po naciśnięciu set następuje wyjście z funkcji. Tymczasem naciskając np + następuje zwiększenie godziny o 1 i automatycznie przeskakuje na ustawianie minut.
    Poniżej fragment kodu, może ktoś z Was będzie wiedział gdzie leży problem.

    Kod: c_mac
    Zaloguj się, aby zobaczyć kod

    0 3
  • #2 14 Gru 2014 09:49
    ShinsPL
    Poziom 13  

    W takim razie problemem jest warunek w pętli. W C operatorem "i" logicznego jest && a nie &. Spróbuj to zmienić.

    0
  • Pomocny post
    #3 14 Gru 2014 09:56
    witoldwitoldowicz
    Poziom 28  

    while(opcja != SW_SET);

    0
  • #4 15 Gru 2014 07:20
    Zolw2305
    Poziom 5  

    Dzięki Witold, teraz wszystko działa jak należy.

    0