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



Teraz jest 19 kwi 2024, o 12:02


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 4 lis 2020, o 22:07 
Offline
Użytkownik

Dołączył(a): 20 wrz 2015
Posty: 55
Pomógł: 0

Witam Wszystkich

Mam problem z układem MCP23017
chodzi o to ze nie wiem jak odczytać stany PINÓW w układzie
o ile zapis do układu mi sie udaje to niestety odczyt nie bardzo :(
napisałem programik który ma za zadanie na 4 młodszych bitach porty A układu ustawić wyjście i ma do niego diody podpięte katodą
a na 4 starszych mam przyciski i jak nacisnę pierwszy guzik to ma mi się zaświecić pierwsza dioda i tak dalej niestety tak nie jest i nie wiem co ustawiam źle
zapis mi wychodzi i jak odpowiedni bit ustawię na 0 to diodka się zaświeca czyli komunikacja jest OK
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


przetłumaczyłem trochę pdf od MCP ale i tak nie wiem gdzie robię błąd używam biblioteki MK_I2C
jak robiłem testy na pcf2874 to wszystko mi działa ale coś ten MCP jest bardziej zaawansowany
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


proszę o pomoc :cry:



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 lis 2020, o 16:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 29 sty 2015
Posty: 183
Pomógł: 10

michael.873 napisał(a):
Witam Wszystkich

Mam problem z układem MCP23017
chodzi o to ze nie wiem jak odczytać stany PINÓW w układzie


Aby odczytać stany pinów w układzie należ ustawić rejestr kierunku IODIR w tryb Output = '0' dla danego Pinu. Stan na danym wyprowadzeniu należy odczytać z rejestru GPIO, gdzie wartość 1 oznacza ustanowiony bit, logiczny poziom wysoki na pinie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 lis 2020, o 17:37 
Offline
Użytkownik

Dołączył(a): 20 wrz 2015
Posty: 55
Pomógł: 0

Niestety dalej mi coś nie wychodzi

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


przyciski mam podłączone do GND i do nóżek scalaka MCP

Próbowałem odczytać rejestr IODIRA zmieniałem go na 0x0F lub 0xF0 próbowałem różnych kombinacji i odczyt z układu wynosi zawsze 0xFF co na wyświetlaczu pokazuje i się jako 255
Wydaje mi się że problem jest w funkcji odczytującej mcp23017_read tylko nie wiem jaki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lis 2020, o 18:54 
Offline
Użytkownik

Dołączył(a): 20 wrz 2015
Posty: 55
Pomógł: 0

Udało się odczytać dane :D
tak jak przypuszczałem funkcja do odbioru biała błąd i scalak na nią źle odpowiadał
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


taka funkcja działa :D

dzięki za pomoc i pozdrawiam :D



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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