- posted
16 years ago
[avr-gcc] Skanowanie klawiatury - jednak nie dziala
- Vote on answer
- posted
16 years ago
Saper/nolin11 napisał(a):
A cóż to za dziwadła czy nowa moda? Nie dało się normalnie zapisać dostępu do tego rejestru DDR i portu?
Jeżeli chodzi o skanowanie klawiatury - dodaj odstęp pomiędzy wysterowaniem wiersza a odczytem kolumny. Przy okazji możesz nieco uprościć i rozjaśnić kod używając pętli zamiast wielokrotnie konstrukcji podobnych do siebie. Dziwne też, że masz zdefiniowane maski wierszy (np. SW_ROW1) a nie masz masek kolumn (sprawdzasz wartości 0x80, 0x40 itp). Jeżeli chcesz zamienić numery wiersza i kolumny na kod klawisza (w innej kolejności niż skanowane wiersze i kolumny) to najszybsze jest użycie tablicy.
Odnośnie schematu: brakuje diod przy klawiaturze. Naciśnięcie jednoczesne 2 klawiszy w tej samej kolumnie spowoduje zwarcie 2 rzędów (w pewnej chwili na jednym wystawisz jedynkę a na drugim zero) i popłynie niezły prąd. Możesz w takiej sytuacji włączać pull-up na pinie zamiast wystawiać mocną jedynkę.
BTW: Dziwny masz pinout ISP. Jeżeli 6 pinów w rzędzie (zamiast atmelowego 2x5) to ten jest bardziej standardowy:
- Vote on answer
- posted
16 years ago