izua Postat Iulie 8, 2010 Partajează Postat Iulie 8, 2010 http://www.h-renrew.de/h/avrclock/avrclock.html The clocks heartbeat is a jitterfree, clock accurate frequency divider. Unfortunatly I've choosen a resonator as clock source, so that the clock runs to fast. After ajusting the divider value the error of about 1 second a day was acceptable.poate te ajută la ceva văzând cum a reuşit tipu' să scape de jitter în software...Păi normal, la frecvența aia de 1 Hz cred și eu.. Link spre comentariu
10vid Postat Iulie 8, 2010 Partajează Postat Iulie 8, 2010 Am constatat ca desi aveam 100Hz la intrare, programul meu imi numara doar 9 impulsuri la 100ms, si cum ajungeam la 100.2 Hz imi numara 10. Asa ca m-am gandit ca baza de timp nu este foarte exacta si am lasat counter0 (cel care imi crea baza de timp) sa mai execute niste instructiuni pana ajung cu adevarat la 100ms (numarul de instructiuni l-am aproximat). Se pare ca metoda a functionat, impreuna cu un mecanism de stabilizare in caz ca numarul de impulsuri oscileaza.Multumesc pentru ajutor!Nu cred ca precizia bazei de timp era problema. Ce-s cateva microsecunde in plus sau in minus cand masuram impulsuri la 100Hz. (Erorile erau parca si la frecvente mici, nu?)Problema e ca iti trunchiaza rezultatul. Chiar daca au fost 99.9 impulsuri, iti da 99.Asa ca ai nevoie de inca o zecimala.Pentru asta trebuie sa numeri pe counter0 pana la 1s, apoi la numarul de impulsuri rezultat sa adaugi 5 (pentru rotunjire la cel mai apropiat intreg) si sa imparti la 10 pentru baza de timp de 0.1s.Astfel, daca ti-a numarat 99 in 0.1s, iti va numara, sa zicem 999 in 1s. (999+5)/10=100.4, adica luam doar intregul 100. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum