QuadMan napisał(a):
Witam,
Nie bardzo zrozumiałem, który w końcu kod działa Ci poprawnie ? Ten z delay-ami, czy ten na przerwaniach powyżej?
Kod z delay'ami w ogóle nie jest brany pod uwagę. Kod zamieszczony przeze mnie jest przerobioną wersją oryginalnego kodu, który wysyła 2 komendy w paczce 16 bitów. Chciałem aby mój wysyłał komendy po 8 bitów, ponieważ
wydaje mi się, że prościej byłoby mi później odbierać 1 bajt scratchpada do elementu 0 tablicy, zmienić indeks i wpisać kolejny bajt, itd.
Ilość bitów jest ściśle uzależniona od liczników.
QuadMan napisał(a):
Jak często masz te przerwania, na których Ci zależy ? Bo 1Wire ma taką cechę, że pomiędzy poszczególnymi bitami ( nadawanymi czy odbieranymi ) może być czas dowolnie długi, co do Resetu to też nie jest tak, że musi być dokładnie 480 us - krytyczny jest tylko ten czas oczekiwania na "presence"
Przerwanie generowane jest z częstotliwością 8kHz czyli 125us, w inne funkcje wykonujące się w przerwaniu nie wnikam.
squeez napisał(a):
Jak koledzy wspomnieli, wykorzystanie UART mogło by pomóc ale skoro nie wchodzą żadne zmiany sprzętowe hmm ... ale może da się jedną przemycić

Niestety, żadnych tego typu zmian. Tylko operacje na kodzie.
