Přepočet data na událost, která se mění po 28 dnech

Mám zase jeden problém

Potřeboval bych s datumu vypočítat událost, která se mění po 28 dnech. Jde mi o to, že mám 28 denní pracovní cyklus a nechce se mi na každé ranní nastavovat budík. Teď mi to funguje, ale nesmím vypnout napajení, což se může kdykoliv stát.

Událost mám 0 - 27, a 1.2.2010 byla událost 0, ale nevím, jak vymyslet přepočet z datumu.

Poradí někdo???

Mám to jak ženský, ty maj taky 28 dní, ale nikde jsem nenašel, jak ty jejich problémy počítat :smiley: :open_mouth: :blush: :smiley: :open_mouth: :blush: :smiley: :open_mouth: :blush:

:arrow_right: administrator: přesunuto z "Přepočet data na událost"

:arrow_right: administrator: přejmenováno z "Elektronika s mikrokontroléry, procesory"

Cau, zalezi kolik na to mas casu , si udelej retezec pro kazdou udalost
XX/pracovni den 0-27/den/mesic/rok/… , a porovnavej je s aktualnim datumem / pracovnim dnem / casem , XX priznak jestli bude udalost v pracovni/kalendarni den aktivni aby se nemusely porovnavat vsechny udalosti kazdou minutu, retezec udelat v poradi tak aby se toho nejmin porovnavalo , zalezi jak moc bude udalosti atd

Času je na to přesně 1,6 ms :slight_smile:

Nějak jsem tě nepochopil. Tak třeba událost 0, což je první noční v cyklu se opakuje co 28 dní a je jedno, co je to za den, měsíc, rok, přestupnej rok, svátek nebo třeba Silvestr. Na netu jsem našel výpočet menstruačního cyklu, což je přesně to co potřebuju (to je shoda :smiley: :smiley: ), takže na to nějakej vzorec JE, dokonce jsem zkoušel a vzorec počítá i s přestupným rokem.

Teď to mám tak, že při přechodu z 27 na 0 v 0:00 se vypočíta celej další cyklus a uloží do EEPROM, takže už teď nejsem odkázanej na napájení. Pokud tedy zrovna o půlnoci nevypnou v ČEZu el.

Ale když je vzorec na vypočet dne v týdnu tak musí byt i na tohle :slight_smile: Neznáte ho někdo?? :question: :question: :bulb:

Nevim presne jak to myslis, ale co takhle to vzit pres deleni ? Kazdy den ma sve poradove cislo v roce no a kdyz to cislo (poradove cislo konkretniho dne, treba dnesek) je delitelne 28 a neni zbytek po deleni, jedna se o zacatek noveho cyklu.

Taky to nak nechapu, ale pokud neco pocitas tak musis myt pojem o aktualnim case ?

Rád bych téma přesunul, protože do elektroniky opravdu nepatří, a proto se zeptám. Jedná se o aplikaci pro mikrokontrolér?

Ve vyšších programovacích jazycích společně s vhodnými knihovnami, se kterými je možné počítat matematické operace s daty a časy, máš vždy k dispozici POSIX time, Unix time nebo něco podobného. Jedná se o převod data nebo data a času na číslo, se kterým není problém provádět jakékoliv matematické operace.

Tak už jsem to vymyslel. Dělám to tak, že nasledujících 28 dní o každé půlnoci zapíšu do EEPROM i s datem, kdyby došlo k dělšímu výpak el. procesor koukne do eep a načte si aktuální událost dle data s DS1337.

To Admin: Je to pro 16F877A, což pro některé :smiley: už asi procesor není, ale pro mě je :smiley: :smiley: :smiley: :smiley: . Na ten odkaz kouknu a zkusím to, co to umí. Když tak to téma smaž.

Na odkaz se dívat nemusíš, v případě mikrokontroléru a RTC je to pro tebe naprosto zbytečné.

Nazdar.
Pracujem na návrhu zariadenia ktoré bude mať týždňový program a na základe nastavených časov sa bude vykonávať program.
Chcem to riešiť tak že vynásobím minúty,hodiny,deň v týždni a cyklicky sa to bude porovnávať a aktuálnou hodnotou času,dátumu.v prípade zhody sa vykoná naprogramovaná “udalosť”.Samozrejme všetko bude uložené v ext.eeprom
Relatko.