18-08-2018, 15:36
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.
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