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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 13 lip 2025, o 22:36


    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 0 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