Witam
Chciałem zapytać, czy właściwie obsługuję siedem czujników DS18B20 na jednej linii.
Chciałem zapytać, czy właściwie obsługuję siedem czujników DS18B20 na jednej linii.
Kod: text
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tampiotrva napisał:1. Niepotrzebnie wysyłasz &H55 (Match Rom) - 1wverify robi to automatycznie
piotrva napisał:
2. Po co dwa razy zczytujesz dane z każdego termometru? Połącz raz odczytane dane z zmienną 16 bit.
3. Nie wiem do czego wykorzystujesz potem zmienne, ale czy na pewno potrzebujesz przechowywać dane aż w 3 miejscach (tablica, zmienne LsbN i MsbN oraz Ds_iN)?
piotrva napisał:
4. Nie wiem jaka jest struktura reszty programu, ale Waitms750 wygląda nieelegancko - powinieneś zrobić to na maszynie stanów i przerwaniach
5. Nie liczysz CRC każdej transmisji i tym samym nie wykryjesz błędów
piotrva napisał:Ale komendy CC i 44 wysyłaj tylko raz - zareagują na nie wszystkie czujniki. I tak samo czekaj tylko raz te 750ms.
piotrva napisał:Tylko nie wywołuj w przerwaniach tak długich bloków instrukcji - lepiej ustaw flagę, która wskaże pętli głównej programu wykonać te instrukcje.
Ale co tu możemy mówić, jak widać tylko wycinek programu.