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.

[C]Mega16 problem z multipleksowaniem wyświetlacza LED

Propaganja12 21 Maj 2012 22:51 935 4
  • #1 21 Maj 2012 22:51
    Propaganja12
    Poziom 9  

    Witam
    Piszę powoli program do pomiaru obrotów na sekundę.
    Niestety nie do końca działa.Nie wiem co jest źle ale działa tylko wysw2 i pokazuje to co ma,czyli cyfrę1.
    Byłbym wdzięczny gdyby ktoś rzucił okiem i dał jakąś wskazówkę.
    ATmega16 8Mhz,wewnętrzny oscylator.JTAG wyłączony.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 4
  • Pomocny post
    #2 21 Maj 2012 23:42
    JarekC
    Poziom 27  

    Tak na szybko, to masz sytuacje, że w przerwaniu zawsze wykonają się obydwa if-y.

    Np: jeżli h=1 to wykona się pierwszy if, w którym pod koniec zerujesz h,więc teraz spełniony jest warunek drugiego if-a.
    Najlepiej zmień drugiego if-a na else.

    JarekC


    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #3 22 Maj 2012 00:11
    maly_elektronik
    Poziom 23  

    Ja w dodatku zaproponuje użycie #define'a :)
    W znaczący sposób pomogą na przyszłość w analizie kodu a w dodatku w razie wprowadzenia zmiany chodżby kolejności lini do lcd wystarczy po prostu edytować kilka zamiast kilkunastu/kilkudziesięciu linijek kodu :)

    0
  • #4 22 Maj 2012 00:38
    perlon
    Poziom 19  

    Może tak?

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #5 22 Maj 2012 08:16
    Propaganja12
    Poziom 9  

    Czułem że to będzie jakiś banalny błąd ,D
    Teraz działa,bo musi.

    Dzięki za pomoc.

    0