Jak odczytać wartość zegara czasu rzeczywistego na płycie głównej?

0

Ktoś może wie jak wyświetlić czas który jest w zegarze RTC na płycie głównej ?
Albo wyświetlić różnice czasu pomiędzy BIOS a tym co jest w systemie operacyjnym ( zegarek na pasku) :)

0

a skąd pomysł, że to są dwa różne czasy?

0

Wygląda na to, że mogą być różne https://support.microsoft.com/en-us/help/946033/the-system-time-may-differ-from-the-bios-time-on-a-windows-based-compu
ale nie wiem czy można dobrać się do tego czasu z poziomu programu pod Windows w nowych systemach. Tu chyba potrzebny jest niższy poziom.

0
kAzek napisał(a):

Wygląda na to, że mogą być różne https://support.microsoft.com/en-us/help/946033/the-system-time-may-differ-from-the-bios-time-on-a-windows-based-compu

Ale tam jest mowa o rozjeździe o "several seconds" co bierze się głównie z tego że system aktualizuje czas z serwerem NTP (o ile to jest włączone), ale zapisuje czas do BIOSu dopiero gdy różnica przekracza minutę... albo jakoś tak. Tekst nie jest dla mnie do końca zrozumiały.

Do czego ci potrzebna ta różnica?
W Windows raczej nie stosuje się udziwnienia rodem z unixów gdzie czas w BIOSie to UTC, a dopiero system wyświetla z poprawką na strefę czasową.

0

W Linux jest to zdecydowanie prostsze ;)

A wracajac do mojego problemu: Aplikacja używana jest na komputerze przemysłowym z windows 10 :)
I ostatnio odkryłem że RTC (zegar czasu rzeczywistego) potrafi się zatrzymać :( Chciałbym w aplikacji wyłapać zatrzymanie RTC i jakoś na ten fakt zareagować

System na pewno jest w stanie komunikować się z RTC bo podczas startu systemu odczytuje czas z RTC aby ustawić czas systemu, tak samo zmiana czasu zapisuje sie do RTC.
Możliwe że to API nie jest opublikowane.

Taki system z zatrzymanym zegarem RTC za każdym uruchomieniem systemu ma tą samą godzinę ;) a nie ma internetu aby pobrać czas z internetu.

0
Adamek Adam napisał(a):

System na pewno jest w stanie komunikować się z RTC bo podczas startu systemu odczytuje czas z RTC aby ustawić czas systemu, tak samo zmiana czasu zapisuje sie do RTC.
Możliwe że to API nie jest opublikowane.

Taki system z zatrzymanym zegarem RTC za każdym uruchomieniem systemu ma tą samą godzinę ;) a nie ma internetu aby pobrać czas z internetu.

System na pewno może tylko, że tu chodzi o uprawnienia Jeszcze w systemach 9x (a może nawet XP nie pamiętam już) stosunkowo łatwo można było uzyskać nawet Ring 0 ale w nowszych raczej nie bardzo się da a przynajmniej ja nie mam pojęcia jak (ale też mogę nie wiedzieć, bo już od lat nie siedzę w tych klimatach po prostu nie ma na to czasu).
https://en.wikipedia.org/wiki/Protection_ring

A swoją drogą miałem kiedyś kompa w którym był problem czasem ale to była wina baterii na płycie.

0
kAzek napisał(a):

System na pewno może tylko, że tu chodzi o uprawnienia Jeszcze w systemach 9x (a może nawet XP nie pamiętam już)

Na pewno nie XP.

stosunkowo łatwo można było uzyskać nawet Ring 0 ale w nowszych raczej nie bardzo się da a przynajmniej ja nie mam pojęcia jak

Trzeba napisać sterownik trybu jądra (kernel-mode driver).

a nie ma internetu aby pobrać czas z internetu.

Czas nie musi być z internetu, wystarczy że będzie z serwera NTP.

0

Co do koncepcji ze to bateria: to było pierwsze co sprawdzałem i bateria jest OK, pomaga odłączenie i podłączenie baterii wtedy zegar zaczyna pracować.

Na razie problem nie znalazł rozwiązania bo szukam też co powoduje zawieszenie sie zegara RTC

0

Może to być spowodowane starzeniem się sprzętu. Mam pod opieką taki stary server co gdy się zgrzał (powyżej 40 stopni) to zegar przyspieszał 30 - 200 minut w skali 24h w zależności od temperatury.

1 użytkowników online, w tym zalogowanych: 0, gości: 1