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



Teraz jest 2 lut 2026, o 22:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 24 lis 2015, o 00:16 
Offline
Nowy

Dołączył(a): 23 lis 2015
Posty: 1
Pomógł: 0

Witam wszystkich,
bardzo prosiłabym o pomoc z obsługą przycisków na klawiaturze , siedzę nad tym już dłuższy czas i błędu nie widzę :(
Używam mikrokontrolera Atmega32.

Mój problem polega na tym, że nie wiem jak sprawdzić ze są wciśnięte dwa dowolne przyciski. Bity 7,6,5,4 to kolumny ( pierwsza, druga, trzecia, czwarta), bity 0,1,2,3 to wiersze ( pierwszy, drugi, trzeci, czwarty).


Problem jest w tym, że nie przechodzi przez ostatniego ifa, mimo że dwa przyciski są fizycznie włączone.
Poniżej prezentuję kod, który stworzyłam:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Będę wdzięczna za każdą pomoc :)
Pozdrawiam,
Monia :)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2015, o 02:14 
Offline
Użytkownik

Dołączył(a): 25 maja 2014
Posty: 92
Lokalizacja: Krosno
Pomógł: 0

Witam,

To, że nie wchodzi Ci do trzeciego ifa sugeruje, że program nie wszedł do pierwszego lub drugiego ifa.

Trochę z tymi opóźnieniami po mojemu jest nie tak, ponieważ najpierw powinno się sprawdzić czy w ogóle nastąpiła zmiana na wejściach, potem odczekać jakiś czas do stabilizacji stanu na tych wejściach i potem jeszcze raz odczytać port. Proponuję takie rozwiązanie:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Druga rzecz to same mikrostyki, mi się trafiło kilka sztuk, które niezbyt dobrze łączyły i pomimo, że je nacisnąłem i trzymałem to miałem efekt kilkukrotnego naciśnięcia. Jak docisnołem mocniej to już było OK. W końcu wymieniłem na inne.

Jeśli masz możliwość to podłącz sobie 2 diody do portu C i zapalaj pierwszą w pierwszym ifie a drugą w drugim, będziesz miała pewność, że na pewno zostały spełnione warunki.

A jeśli chodzi o obsługę klawiatury matrycowej to polecam książkę Mirka "BlueBook" :)

Pozdrawiam

_________________
Artur



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 lis 2015, o 16:27 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 15 wrz 2013
Posty: 74
Lokalizacja: Sierakowice/Gdańsk
Pomógł: 9

Jak jest problem takiego typu, to radzę sprawdzać działanie programu i sprzętu małymi kroczkami - tak ja zawsze robię :) . Po kolei:
1) sprawdź czy działa sterowanie samym wyświetlaczem
2) zbadaj pojedynczy przycisk, np. zapalaj wyświetlacz gdy wciśnięty
3) zbadaj drugi przycisk ;)
4) jeżeli coś nie gra, to wiadomo gdzie szukać
5) jeżeli wyświetlacz i pojedyncze przyciski działają jak trzeba, to też wiadomo gdzie dalej szukać błędu.

Po przeanalizowaniu twojego kodu, rozumiem że po naciśnięciu obu przycisków, zapala się na czas 1s jeden segment jednego wyświetlacza.



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: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 4 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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO