• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Niedokładność pomiarowa - problem z odczytywaniem impulsow
#32
(18-08-2018, 15:36)kaczakat napisał(a): Jeszcze raz, timers z tym attach nie są sprzętowymi przerwaniami, przerwaniami w ogóle
Jeśli tak, to najlepiej zrobić swoje przerwania co równiutką 1ms czy nawet 100us co da większu rozdzielczość pomiaru.

(18-08-2018, 15:36)kaczakat napisał(a): Można też wszystkie zbieranie danych i obliczenia robić przez 480ms, przeliczyć to przecież nie problem, a te 20ms poświęcić na wysyłanie na ekran i UART. Potem od nowa.
To nie jest dobra droga do sukcesu. W razie zmian taki program może przestać poprawnie działać. Wystarczy, że nowsza biblioteka będzie obsługiwać LCD nie 10 a np 15ms, albo zostanie zmieniony wyświetlacz na inny typ. Takie pisanie programu to amatorszczyzna. Procedurę pomiaru należy napisać raz a dobrze z użyciem przerwań. Co by się w programie głównym nie kombinowało (zgodnie ze sztuką) procedura liczenia będzie działać poprawnie.
Oczywiście, użycie źle napisanych funkcji, zawieszających przerwania na długo, rozłoży każdy najlepszy program a tak działa 1-Wire na Arduino (na Raspberry Pi też). Na Arduino, na czas transmisji bitu, zawieszane są przerwania (nawet ok70us) biblioteki, które widziałem, zawieszają też na czas sygnału reset i presence (ok 600us) i już jest problem, gdy użyjemy przerwań od timera co 100us. Rozwiązanie jest banalnie proste, sprzętowy USART i nie trzeba zawieszać przerwań, ale Arduino to zabawka i 99% użytych uC ma jeden USART. Przez to Arduino działa (pisałem to już kiedyś) jak Windows - chcesz aby realizowało kilka zadań, użyj kilku komputerów (kilka płytek Arduino). To nie jest wina uC, bo na AVR można naprawdę cuda robić ale nie używając bibliotek Arduino.

PS
Pogrzebię w timer.h i sprawdzę jak te attach jest zrobione.
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Niedokładność pomiarowa - problem z odczytywaniem impulsow - przez es2 - 18-08-2018, 16:32

Skocz do:


Przeglądający: 1 gości