Witam.
Ostatnio zajmowałem się obsługą cyfrowych czujników temperatury ds18b20, a do tego potrzebowałem napisać funkcję search rom. Poniżej wklejam koda odpowiednich funkcji.
Problem polega na tym, że funkcja dobrze sczytuje mi tylko pierwszy adres (mam podpięte 2 czujniki). To co zaobserwowałem to jeśli w pętli szukającej adresu zamienię kolejność wypełniania (zamiast od rom[0][n] do rom[1][n] to od rom[1][n] do rom[0][n]) to żadnego układu nie widzi. Ponadto jeśli w pętli głównej (już po wypełnieniu adresami tablicy rom[][]) zamienię miejscami adresy to wtedy komunikacja cała się sypie, bo nawet wyświetlacz nie wyświetla wtedy poprawnie ustawionych znaczników. Proszę o pomoc
Dodano po 2 [godziny] 52 [minuty]:
Szukałem tego z 10h, błędem było nie wyzerowanie licznika "n" gdy ponownie przeszukiwałem adresy, więc funkcja zapisywała liczby poza tablicą. Zamykam
Ostatnio zajmowałem się obsługą cyfrowych czujników temperatury ds18b20, a do tego potrzebowałem napisać funkcję search rom. Poniżej wklejam koda odpowiednich funkcji.
Kod: C / C++
Problem polega na tym, że funkcja dobrze sczytuje mi tylko pierwszy adres (mam podpięte 2 czujniki). To co zaobserwowałem to jeśli w pętli szukającej adresu zamienię kolejność wypełniania (zamiast od rom[0][n] do rom[1][n] to od rom[1][n] do rom[0][n]) to żadnego układu nie widzi. Ponadto jeśli w pętli głównej (już po wypełnieniu adresami tablicy rom[][]) zamienię miejscami adresy to wtedy komunikacja cała się sypie, bo nawet wyświetlacz nie wyświetla wtedy poprawnie ustawionych znaczników. Proszę o pomoc
Dodano po 2 [godziny] 52 [minuty]:
Szukałem tego z 10h, błędem było nie wyzerowanie licznika "n" gdy ponownie przeszukiwałem adresy, więc funkcja zapisywała liczby poza tablicą. Zamykam