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:
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:
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.