Datum a cas v MCU?

www www asrock70 na seznam.cz
Neděle Leden 9 23:10:15 CET 2011


Myslim, ze muzete klidne zacit pocitat od 1.1.1970, kdyz si to spocitate nebo se podivate na definici tak
time_t je integer, tedy sice 32bit, ale 1bit je vyhrazen pro znamenko. Vasich 32 bitu tedy nepretece v roce 2038, ale v roce 2106, jelikoz 2^32 je cca 136let.
Mimochodem je to jedno z uvazovanych reseni problemu Y2038, tedy zmena definice time_t na unsigned int, druha je zmena na 64bit pro 64bit OS.

Jirka


>Zrovna nedavno jsem premyslel, jestli v aplikacich prejit z time na 
time64 ale usoudil jsem, ze v r. 38 budu mit uplne jine starosti jak co 
udrzovat, nez stavajici aplikace ;-)

Dne 9.1.2011 18:08, Draček Fráček napsal(a):
> Mam takovy dotaz, jak nejlepe implementovat cas v MCU?
> V MCU mam casovou jednotku s 47bit registrem, s krystalem 32.768kHz,
> registr se kazdym tikem krystalu zvetsuje o 1.
> Premyslim jak z toho co nejelegentneji udelat datum a cas?
> Nabizi se uriznout spodnich 15bitu a zbylych 32bit nastavit tak, aby
> ukazovaly Epoch, tedy UNIX cas od 1.1.1970.
> Nicmene tyhle hodiny by sly jen do roku 2038 a to je za par.
> Teoreticky si samozrejme mohu rici, cas 0 je 1.1.2010 a mam vystarano,
> ale je to ciste proprietarni reseni a neco mi rika, ze treba existuje
> nejake normalizovane reseni?
>
> Dekuji
>
> Martin


Další informace o konferenci Hw-list