• 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
#31
Tak na prawdę bez tego timer można to poukładać lepiej. Np. jeśli wtrysk trwa 20-30ms, a wyświetlenie 15ms to można odpalić start pomiaru, wysłać ekran, odczytać koniec wtrysku. W tym czasie oczywiście sprzętowym przerwaniem dalej zbierać impulsy drogi.
Można też korzystając z millis robić coś tylko w parzystych lub nieparzystych, dziesiątkach, setkach, tysiącach ms. Tak samo tylko w trzecich czy siódmych.
Jeszcze raz, timers z tym attach nie są sprzętowymi przerwaniami, przerwaniami w ogóle ( no niczym innym niż if przerywający pętle loop by wykonać polecenie gdy warunek jest spełniony, a przecież nikt ifa przerwaniem nie nazywa), wykonują się w rytm pętli głównej bo oparte są o millis - jeszcze raz, lody jabłkowe to nie jabłko. Wszystkie czasy funkcji mogą wpływać na ilość wywołań, bo to jest po prostu inaczej zapisana pętla loop, ładniej, ale z dodatkowymi skokami do innych funkcji.
Mogłoby to działać lepiej choćby z głową to poukładać tak jak jest, wątpię by było konieczne sprawdzanie licznika impulsów drogi co 1ms, a w niej jeszcze zmieniać interwał?
Nie wydaje mi się, by softowy timer oparty o takt 1ms powinien być wywoływany częściej niż co 10ms, a najlepiej 100ms.
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


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

Skocz do:


Przeglądający: 3 gości