Dnia Wed, 12 Nov 2014 12:43:21 +0100, Atlantis napisał(a):
Czekaj, zaczynam rozumiec. Atmel wysyla pakiet NTP, przychodzi odpowiedz, atmega ustawia swoj zegar na podstawie tego co przyszlo. Potem sobie powieksza wlasny zegar w przerwaniach, a gdzies obok RasPi odczytuje zegar z atmegi, odczytuje z ntp, porownuje i wychodzi mu roznica znaczna ? Mimo ze niedawno atmega ustawila czas w/g pakietu NTP?
Ja bym zrezygnowal z tego RasPi, wyrzucal wszystko tekstowo, i porownywal naocznie.
Ale co mi sie nasuwa:
-czy oba korzystsja z tego samego serwera - ale mysle ze nawet jak z innych to czas powinien byc zgodny,
-o ile kojarze, to NTP jest bardziej skomplikowany, wysyla sie w dwie strony pakiety - moze cos nie/zle ustawiles ?
-czy przerwania tam dobrze wspoldzialaja ? Bo jak rozumiem - przychodzi pakiet, w przerwaniu ustawiasz timer, w przerwaniu go powiekszasz - to sie moze cos zle dziac. Ale rzadko.
-jaki masz czas odpowiedzi ? Moze cos tam sie w sieci blokuje i pakiety gdzies czekaja
-typowo na unixach NTP nie przestawia zegara, tylko go zwalnia lub przyspiesza i zmiana jest rozciagnieta w czasie. Unix nie lubi skokow czasu. Ale to by dotyczylo RP, bo na ATmega jak rozumiem sam programujesz.
Ale najbardziej podejrzewam:
-czy dobrze odczytujesz tego ENC i przerwania dobrze przychodza ? Bo jakby tak pakiet przychodzil, ale atmega nic o tym nie wiedziala, tylko czekala, a odczytywala pakiet przy calkiem innej okazji, ktora nadejdzie nie wiadomo kiedy - to by tak moglo byc jak opisujesz.
J.