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



Teraz jest 20 kwi 2024, o 13:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 27 sie 2016, o 21:16 
Offline
Nowy

Dołączył(a): 30 lip 2016
Posty: 16
Pomógł: 0

Witajcie,

mam problem z podłączeniem układów PCF8574. Mam trzy takie układy podłączone równolegle do Atmegi328p. Ich zadaniem jest praca w trybie zapisu, tj. ustawianie pinów w stan wysoki/niski. W tym celu zajrzałem do noty i ustawiłem bity A0, A1, A2.
Dla pierwszego A0=A1=A2=0 (Slave adress= 0x40)
Dla drugiego A0=1, A1=A2=0 (Slave adress= 0x42)
Dla trzeciego A0=A2=0, A1=1 (Slave adress= 0x44)

W kodzie:

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


Tablica liczba[] przechowuje zmienne od 0 do 255. Niestety kod ten nie chce działać, tzn przy pierwszym uruchomieniu dioda świeciła się na wszystkich wyjściach P0-P7, po wgraniu kodu wyzerowałem wszystkie bity i zgasła. Teraz teraz chcąc wymusić jakiś stan wysoki na pinach, chociażby tak:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

dioda zapala się tylko na pinie P3. Reszta nie chce świecić. Zaznaczę jescze, że dioda świeci się bardzo słabo, pomimo że łączę ją przez rezystor 220Ohm. Jednak taka jasność świecenia była jeszcze przed wgraniem pierwszego wsadu.
Funkcja TWI_write_buf () jest analogiczna do tej z bluebooka i na pewno dobra, bo z RTC po I2C czas odczytuje mi prawidłowo.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2016, o 21:29 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 26 sty 2016
Posty: 1148
Lokalizacja: Kraków
Pomógł: 93

Co do jasności świecenia diody, spróbuj podłączyć diody w ten sposób, żeby były podłączone na stałe do Vcc, a zaświecasz podając stan niski na pin. Zobacz w nocie katalogowej, że ekspander w stanie wysokim zapewnia prąd 1mA na pin, w stanie niskim 25mA. Może dlatego nie chcą świecić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2016, o 21:41 
Offline
Nowy

Dołączył(a): 30 lip 2016
Posty: 16
Pomógł: 0

Faktycznie, czyli lepiej je sterować stanem niskim.

Co do samego problemu, głupi jestem, problem był funkcji TWI_write_buf(), myślałem że w takiej postaci jak w bluebooku pójdzie. Po przeanalizowaniu jeszcze raz noty i zmianie na:

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


wszystko pięknie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 27 sie 2016, o 22:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 31 lip 2012
Posty: 157
Pomógł: 8

Mirek pisał w książce, ze należy zobaczyć do notki kazdeo układu.

użyj czegoś takiego dla zapisu i odczytu:

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



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