Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

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

fliper_katrill 25 Aug 2011 14:34 786 0
  • #1
    fliper_katrill
    Level 20  
    Witam serdecznie!
    Najpierw może podzielę się kodem:
    Code: basic4gl
    Log in, to see the code


    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.