podlacz sobie oscyloskop, nacisnij jakis klawisz, zobacz jak zmienian sie stan na linii (reakcja na zbocze)...
W momencie wciśnięcia klawisza "zwalnia" odczyt kolumn - zauważyłem.
Ha! Już wiem co miałem zobaczyć. Ja stary, mój oscyloskop stary (ZDZtu Mini5a) i raczej do audio. Pokombinowałem, pokręciłem gałami i wyszło:
- "wolna" kolumna ------------_--------------
- połączona z rzędem ------------_--___--------
Ciężko to uchwycić więc jak wcześniej sprawdzałem to widziałem (stary i ślepy;p) -----------_____----------- po wciśnięciu guzika i to miałem na myśli pisząc "zwalnia".
Ok 1 problem rozwiązany!

punkt 4. powinien byc czekaj az zniknie stan 0 na kolumnie i wowczas ustaw stan jeden na wszystkich rzędach.
tak też kombinowałem czyli:
Do : Loop until Kx=0
Rzedy=rzad
Do : loop until Kx=1
Rzedy = 255
Choć waity raczej "szybciej chodzą" i tylko wystarczy "wyregulować" długość.
Dodatkowo mozesz miec problem z predkoscia programu w BCASCOM i lepij zrobic te czesc programu w asemblerze.
Bascom jest powolny, kompilator ma skopany, kod wynikowy typowego "blink" potrafi ważyc kilka kb. Przeskocz na arduino ide, masa przykładów, bibliotek, i ogolnie przyjemnie sie w tym rzeźbi. Mówie to jako zatracony pascalowiec. Łatwiej mi było ogarnąć arduino ide niż bascom avr. W dodatku jest support dla większości procków avr nie tylko tych upchanych na plytki *ino.
I tak będę musiał zrobić, czyli zakończyć przygodę z Bascom'em - przynajmniej do takich rzeczy i pomordować Arduino. Choć nawet fajnie się w tym pisze t.j. prosto. Czego się nauczyłem to moje, dopóki nie zapomnę.

Btw. napisałem prosty programik dla znajomego typu: ustaw czas1 ustaw czas2 i w zależności od tego co pojawi się na wejściach i w którym momencie załącz/wyłącz przekaźnik. Zrobiony na waitach w "forach" bez przerwań i co ciekawe jest dość punktualny nawet przy kilkudziesięciu minutach.
z takim algorytmem życzę powodzenia.
Dzięki.

P.S.
Może ktoś podrzuci linka do jakiegoś sensownego/sprawdzonego kursu Arduino?
Najlepiej dla "opornych".
