-
Data: 2014-11-12 15:45:05
Temat: Re: Różny czas pomimo synchronizacji z NTP
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-11-12 15:02, Marek pisze:
> Bez synch. późni się czy spieszy?
Spóźnia się. Z każdą chwilą coraz bardziej.
> Pisałeś, że ten *time liczysz w przerwaniu timera 1ms, który odlicza
> czas lokalny, uwzględniłeś czas tych obliczeń *time (maltretujesz
> 8bit mcu obliczeniami na int32, timer powinien być aktywny podczas
> ich trwania)?
W tej chwili używam przerwania 10ms.
Hmm... Uważasz, że operacje na zmiennych mogą zajmować więcej czasu,
przez co różnica odkłada się z każdą sekundą?
Czy to (wraz z czasem potrzebnym na obliczenie nowego czasu z pakietu
NTP) tłumaczyłoby także początkowe, kilkusekundowe opóźnienie,
pojawiające się zwykle po synchronizacji?
Funkcja obsługująca przerwanie wygląda następująco:
ISR(TIMER0_COMPA_vect) {
ten_millis++;
if (ten_millis > 100) {
geiger_pulses[seconds] = TCNT1;
TCNT1 = 0;
seconds = (seconds + 1) % 60;
one_second_tick = 1;
uptime++;
if (rtc) rtc++;
if (ntp_update_timer) ntp_update_timer--;
if (bmp085_update_timer) bmp085_update_timer--;
if (dht_update_timer) dht_update_timer--;
if (graphite_upload_timer) graphite_upload_timer--;
ten_millis = 0;
}
}
Pierwszy blok poleceń w instrukcji warunkowej to obsługa licznika
Geigera (właściwe główny czujnik zamontowany w tym urządzeniu) - co
sekundę ilość impulsów zliczonych przez licznik sprzętowy jest
zapisywana do tablicy, sam licznik jest czyszczony i liczony jest numer
kolejnego pola do zapisania.
Zmienna "one_second_tick" to uint8_t - jej jedyną funkcją jest
przekazywanie do pętli głównej informacji o przekręceniu się licznika
sekund.
Zmiennymi 32bitowymi są jedynie uptime i rtc.
Zmienne bmp085_update_timer i dht_update_timer mają rozmiar ośmiu bitów
- odliczają czas pomiędzy kolejnymi odczytami czujników BMP085 oraz DHT11.
Podobne jest przeznaczenie szesnastobitowych zmiennych ntp_update_timer
oraz graphite_upload_timer, które odliczają czas do kolejnego wysłania
requesta do serwera NTP oraz uploadu wyników pomiarów do Graphite'a.
Jeśli to tu leży przyczyna, to w jaki sposób powinienem wprowadzić
poprawkę? Jak ustalić czas potrzebny do wykonania tych operacji?
Następne wpisy z tego wątku
- 12.11.14 17:21 Jakub Rakus
- 12.11.14 17:43 Atlantis
- 12.11.14 19:50 Jakub Rakus
- 12.11.14 19:53 Marek
- 12.11.14 20:00 Atlantis
- 12.11.14 20:07 Marek
- 12.11.14 20:48 Atlantis
- 12.11.14 21:26 Marek
- 12.11.14 21:29 J.F.
- 12.11.14 21:36 Marek
- 12.11.14 22:20 Atlantis
- 12.11.14 23:14 J.F.
- 12.11.14 23:18 Marek
- 12.11.14 23:20 Jakub Rakus
- 12.11.14 23:24 Atlantis
Najnowsze wątki z tej grupy
- kolorowy e-paper
- Sterownik kotła CO praca PWM
- Jakie baterie A23 i LR44?
- OLED SSD1306 - degradacja?
- Który symulator AVR jest ,,prawilny"?
- Disk on Module, czym to odczytać?
- Pasta ochronna? Lutownicza?
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
Najnowsze wątki
- 2025-11-26 Policja się rozmysliła i zmieniła zdanie
- 2025-11-26 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-11-26 Czy publiczne "podpisywanie gaśnicy" może być karalne? [Braun]
- 2025-11-26 Warszawa => Solution Architect (Workday) - Legal Systems <=
- 2025-11-25 konfigurowanie androida a sklep play
- 2025-11-25 Dwie umowy dożywocia
- 2025-11-24 Domowy switch 1GBit/8 portów, ale lepszy niż najtańsze
- 2025-11-24 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-11-24 Warszawa => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-11-24 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2025-11-24 Białystok => Konsultant ERP Microsoft Dynamics 365 Commerce <=
- 2025-11-24 Rzeszów => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-11-24 Białystok => Programista React ze znajomością C++ <=
- 2025-11-24 Gdańsk => Dynamics 365 Commerce/POS Developer <=
- 2025-11-24 Białystok => Microsoft Dynamics 365 Finance Consultant <=




Ile kosztują tanie mieszkania w polskich metropoliach?