logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Bascom] Dokładność odmierzania czasu w milisekundach

fliper_katrill 25 Sie 2011 14:34 840 0
REKLAMA
  • #1 9861489
    fliper_katrill
    Poziom 20  
    Witam serdecznie!
    Najpierw może podzielę się kodem:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Atmega644p, tak sobie rozważam bo nie działa mi to jak trzeba...
    Dane z zegara PCF8583 to Ustaw_czasu_ms są to milisekundy, Ust_poranek to ilość minut jakie ma trwać rozjaśnianie, wszelkie Plynnosc to pomocnicze zmienne.
    Najpierw obliczam ile minut trwa całość rozjaśniana (Plynnosc) razy czas trwania sekundy w ms, potem dzielę to przez 10bitowy PWM (otrzymuję Plynnosc_t) i w tej danej wiem co ile czasu w ms powinien się zwiększać Pwm1b. Zaokrąglam wrazie co do całkowitej najbliższej i jako Plynnosc_r ustalam Reszta_pwm1b dzieląc otrzymane z zegara ms z Plynnosc_r. Jeśli ta reszta (mod) jest równa zero to dopiero wtedy Pwm1b może się zwiększyć.
    Moim zamierzeniem jest automatyczne wyznaczenie przerw czasowych i inkrementację w nich Pwmb1 tak aby dla dowolnego okresu czasu 1024 razy zwiększać Pwmb1 aż do maksimum.
    Teraz pytanie: Jesli dobrze matematycznie to rozgryzłem (pomijając małe zaokrąglenia ROUND) to czemu proces jednominutowy (Ust_poranek=1) nie trwa 1 minutę a około 170s?
    Z góry dziękuję za odpowiedzi.
  • REKLAMA
REKLAMA