Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 3 sty 2025, o 11:53


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 15 sie 2014, o 10:48 
Offline
Nowy

Dołączył(a): 15 sie 2014
Posty: 2
Pomógł: 0

witam,
uczę się programowania na makiecie stm32f072b discovery

chciałbym obsłużyć klawiaturę 4x4. ideą jest realizacja na przerwaniach - jak najmniejsze obciążanie procesora gdy nie korzystam z klawiaturki.

Moje założenia:
- podłączenie do osobnych pinów 4 kolum i 4 wierszy w szereg z rezystorem (dla bezpieczeństwa)

- wiersze: wejścia z ustawionym pullup
rejestr GPIOx _PUPDR ustawiony na 01 dla portów podłączonych pod poszczególne wiersze

- zmiana: kolumny jako wyjścia, stan LOW

- uruchomienie obsługi przerwań,
następuje przerwanie, analiza w przerwaniu który wiersz - pin wywołał przerwanie

mam wiersz, szukanie, która kolumna w następujący sposób:
ustalenie jednej kolumny jako wyjście ze stanem LOW
pozostałe jako wejście bez podciągnięcia pull: GPIOx_PUPDR ustawiony na 00 dla odpowiedniego portu, co pozwoli zabezpieczyć się przed zwarciami: http://extremeelectronics.co.in/avr-tutorials/4x3-matrix-keypad-interface-avr-tutorial/
zmiana - multipleksowanie kolumn poprzez przełaczanie do kolejnej kolumny stanu LOW wyjście

jeżeli pin, który wywołał przerwanie będzie miał ponownie stan niski - znając konkretną kolumnę - wyznaczam poszczególny przycisk

podsumowując:
za pomocą ustawienia kolumn na LOW jako wyjście, możliwe będzie obsługa przerwania reagującego na konkretny wiersz

w funkcji obsługi przerwania szukam która kolumna została wybrana

znając kolumnę i wiersz - reaguję przycisk

moje pytania, wątpliwości:
czy to będzie dobry sposób dla mojego przypadku?
zabezpieczenia na drgania - wait raczej odpada, analizowanie danych w przerwaniu
zabezpieczenie poprzez stan wysokiej impedancji (ustawione wejście dla kolumn) będzie działać dla mojej makiety?
ideą jest, aby przy niekorzystaniu z klawiatury - procesor bezsensownie jej nie "badał"

pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO