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

Wąż świetlny z LED atmega8 C

19 Maj 2011 21:40 1584 3
  • Poziom 9  
    Witam,
    właśnie się uczę programować atmege8 w C i mam problem z taką "zabawą" na diodach.
    Wymyśliłem sobie, że to będzie coś w rodzaju Snake. "Idą" sobie 3 diody, a gdy dojdą do końca portu to wtedy jedna dioda idzie na początek a przy kolejnym naciśnięciu przycisku 2 diody idą na początek i tak w kółko (zależnie który przycisk wcisnę to diody się przesuwają albo w lewo, albo w prawo o jedno pole).
    Daję kod

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Diody do PortuD są podłączone, zapalają się przy wysokim stanie. Przyciski do PortuC, ściągają do masy pin.
    Program się kompiluje, tylko że gdy wcisnę przycisk 2 raz to diody stają.
    Proszę o jakieś sugestie co do kodu.
  • Poziom 29  
    unsigned char z;
    z=(z<<1) | (z>>7); // w lewo
    z=(z>>1) | (z<<7); // w prawo
  • Poziom 27  
    Xitami, rzeczywiście jest to względnie elegancki sposób, chociaż ROR/ROL to standardowa instrukcja AVR więc można bardziej optymalnie (jednak problem z tym, że w C takiej instrukcji brak).