Skocz do zawartości

Zakłócenia odczytu z DS18B20


omnixcrs

Pomocna odpowiedź

No super analiza.

Proszę się teraz pochwalić swoim kodem zajmującym 600us bo to tak na oko to 100razy dłużej niż trzeba prze niezbyt wydajnym kodzie.

Ale przecież nie napisałem, że mam taki kod 🙂 podałem 600us jako przykład, bo nadal nie rozumiem tego co napisałeś:

W RAM uC zrób kopie ekranu a w przerwaniu np co 1ms wysyłaj jeden znak. Z ten sposób, dla programu głównego, obsługa LCD bedzie zajmować kilkaset us co 1ms czyli praktycznie 0% czasu procesora.

Może jeszcze raz spróbuj napisać co konkretnie ma trwać 'kilkaset us'?

No chyba, że to po prostu pomyłka i chciałeś napisać 'kilkaset ns' i wtedy nie było pytania.

Link do komentarza
Share on other sites

Gość es2

Faktycznie miałem na myśli kilkadziesiąt us.

Co do obsługi 1-Wire to w przypadku AVR najlepiej użyć do tego USART. Jak nie ma USART to DS2482/84 po IIC. Dzięki temu komunikacje 1-Wire można zrealizować na przerwaniach. Zasadniczo wszystkie wolne transmisje realizuje się na przerwaniach. Wtedy, nawet z AVR, można wycisnąć dużo.

Jeśli obsłuży się USART, I2C przez pooling, LCD z delay, itd to nawet ARM nie pomoże, bo procek większość czasu będzie się kręcił w pętlach.

Dobrze napisany program na AVR wykonuje pętlę główną w 1ms, jakieś bardziej skomplikowane procesy 10..30ms. Jak program wykonuje się dłużej, to jest źle napisany.

Link do komentarza
Share on other sites

O mistrzu ES2, z nieba nam tu spadasz ze swoją wiedzą, którą dzielisz się z takimi nikczemnikami jak ja. W Arduino najczęściej korzystam z Nano, Bluepill i ESP, wrzuć linki do swoich bibliotek do obsługi typowych LCD/TFT/OLED i czujników DS. Może być na UART/I2C. Oczywiście jak nie assembler to może być kod maszynowy, każda ns ma w Arduino znaczenie, dlatego wybrali C++ obiektowy. I jak masz jakiś hub 1-wire za dyszkę to też chętnie przytulę, bo widziałem tylko takie po parę stów, a to trochę lipa bo przekraczam budżet mojego 4-kanałowego termometru o jakieś 5000%. Już lecę studiować te pullup. Czekam z wypiekami na twarzy.

Lukaszm, podłączyłeś ten led do pinu procka?

Link do komentarza
Share on other sites

Gość es2
O mistrzu ES2, z nieba nam tu spadasz ze swoją wiedzą, którą dzielisz się z takimi nikczemnikami jak ja. W Arduino najczęściej korzystam z Nano, Bluepill i ESP, wrzuć linki do swoich bibliotek do obsługi typowych LCD/TFT/OLED i czujników DS. Może być na UART/I2C. Oczywiście jak nie assembler to może być kod maszynowy, każda ns ma w Arduino znaczenie, dlatego wybrali C++ obiektowy. I jak masz jakiś hub 1-wire za dyszkę to też chętnie przytulę, bo widziałem tylko takie po parę stów, a to trochę lipa bo przekraczam budżet mojego 4-kanałowego termometru o jakieś 5000%. Już lecę studiować te pullup. Czekam z wypiekami na twarzy.

Lukaszm, podłączyłeś ten led do pinu procka?

Proszę bardzo, biblioteki w C do

- LCD z dynamicznym przydzielaniem własnych wzorów znaków. LCD WEG010016ALPP5N00000, TFT ze sterownikiem ssd1306 (IIC).

- Onewiere dla GPIO, USART, DS2482/4 (IIC) DS2480 (UART).

- USB dla FT22x (SPI) i FT230 (IIC)

Hub 1-Wire to nie kilka stówek, tylko P82B96 za 11zł netto na dwa kanały.

rmik 20180325 162238 - LCD EG010016ALPP5N00000.zip

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.