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



Teraz jest 18 maja 2026, o 03:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 22 cze 2014, o 22:54 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 15 cze 2014
Posty: 3
Pomógł: 0

Mam problem z obsługą klawiatury matrycowej 3x4 z diodami. Poglądowy schemat poniżej. Przy czym nie zawiera on dodatkowego kondensatora na każdym przełączniku oraz jest dla wersji klawiatury 4x4.

Obrazek

Klawiatura podłączona do standardowej płytki EVB5 z procesorem Atmega32A za pomocą portu C(0-7) oraz D2 - przerywanie INT0
Mam następujący kod do obsługi tej kombinacji:

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


Problem polega na tym, że zwracana liczba przez funkcję FindKey(void) jest zawsze wartością z ostatniego wiersza. Tak jak by, to co jest przed komentarzem //wiersz 4 nie było wykonywane. Czyli ciągle dostaje wartość 10,11 lub 12. Piny C 0-3 reagują prawidłowo. Natomiast Piny 4-7 reaguje tylko ten który jest ostatni w funkcji FindKey(). Czyli w podanym kodzie będzie to 7. Moje pytanie jest, co przeoczyłem lub źle zrobiłem? Dlaczego jedna tylko kolumna jest sprawdzana?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 22 cze 2014, o 23:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 kwi 2013
Posty: 187
Lokalizacja: Kobiernice
Pomógł: 13

Witam,
Niech kolega podmieni ciało funkcji FindKey na to
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

a nuż coś ruszy ;)
pisane na szybko i nie sprawdzone

------------------------ [ Dodano po: 24 minutach ]

Wydaje mi się że problem tkwi w tym, że port C nie jest maskowany, np:
Xseomres napisał(a):
PORTC = 0xDF;//1101 1111
przez co piny PC0 - PC3 są z automatu ustawione jako "1"

_________________
zapraszam na bloga http://bakcyl8bit.blogspot.com/



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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