Dzięki za odpowiedz! mam jednak mnóstwo pytąń

Krauser napisał(a):
Tworzysz tablicę 8 kolumn i na niej wykonujesz wszelkie operacje. W funkcji obsługi przerwania ISR(TIMER0_COMP_vect) tylko kopiujesz jej zawartość na PORTA w odpowiednim czasie i kolejności. To znacznie ułatwi ci pracę.
Czyli tworze sobie buffor, 8 elementowej tablicy char, ale jak na takim suchym czymś moge operować?
W obsłudze przerwania przypisuje ten bufor dajmy na to PORTA |= BUFFOR[0]? a w bufforze co miałbym? Troche tego nie rozumiem.
Druga sprawa, co ze sterowaniem wierszami? To miałby robić ten buffor? Czy on miałby być od kolumn? Przecież to w zależności od przycisniętego klawisza, pozycja 'paletki' na WIERSZACH się może zmieniac, kolumny w moim zamyśle miały tylko się 'uaktywniać' w odpowiednim momencie(multipleksować )
Krauser napisał(a):
Użycie COLUMN_PORT==0b00000001 to też takie mieszanie sobie sprzętu z algorytem. W funkcji obsługi przerwania ustawiaj po prostu dodatkową flagę i sprawdź co ile ją ustawiasz.
Tutaj chciałem sprawdzić która kolumna się świeci. Przez flagę by to inaczej jakoś działało?
Czyli dodam sobie flage która sprawdza kiedy licznik == 1(czyli przy przekroczeniu 255)? To nie było by to samo?
[/quote]
Krauser napisał(a):
Błędne działanie przycisków może wynikać ze źle dobranej prędkości. Zobacz:
http://mirekk36.blogspot.com/2012/10/dr ... ak-to.htmlhmm prędkości czyli zegara? czy złego doboru prędkości multipleksowania?