Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Vyčítání dat z DS3232 (nebo DS1307) pořád dokola
Jdi na stránku Předchozí  1, 2
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: st březen 02 2016, 17:39    Předmět: Citovat

V tom případě se ale změna projeví až při nejbližším srovnání času a hranice. Když budu mít například nastaveno vypnutí ve 21:00 a zapnutí v 06:00 a chtěl bych ve 21:30 posunout vypnutí až na 23:00, čili to ještě na hodinu a půl znovu zapnout, tak se to nezapne dříve než v 6 ráno.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
AB1



Založen: Nov 23, 2009
Příspěvky: 312

PříspěvekZaslal: st březen 02 2016, 19:42    Předmět: Citovat

citace:
V tom případě se ale změna projeví až při nejbližším srovnání času a hranice. Když budu mít například nastaveno

Záleží jak často děláme to srovnání
Může být třeba v každém běhu hlavní smyčky (test má jen 11 cyklů)
a změna se projeví okamžitě.

Edit:

Ovšem, nefunguje to pozpátku.
Když mám nastaveno zapnutí na 11 hodin a v 10 hodin změním zapnutí na 9 hodin, tak nijak nereaguje, zapne se až v příští 9. hodině.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rob_brno



Založen: Oct 12, 2012
Příspěvky: 209

PříspěvekZaslal: čt březen 03 2016, 8:29    Předmět: Citovat

Ještě k tomu čtení z RTC bych viděl dvě další možnosti a to: Poprvé po restartu inicializovat z RTC a pak od aktivovaného výstupu z RTC v přerušení přičítat jedničku do čítače sekund, z toho lze jednoduše pomocí funkce time.h konvertovat na datum a čas. A nebo pokud se zařízení občas vypíná(např.jednou denně nebo týdně), tak po inicializaci z RTC přičítat sekundy podle hodin mcu(pak můžeš RTC napájení přes výstup mcu nebo FET úplně odpojit). Ono se to může trochu rozejít, ale pokud se to občas vypíná, tak se to vždy inicializuje(dělám to tak u cyclocomputeru).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4511
Bydliště: Košice

PříspěvekZaslal: čt březen 03 2016, 14:28    Předmět: Citovat

Uz na prvej stranke som dal podmienku ako to jenoducho urobit, nechapem co tu este tak komplikovane riesite.
kód:

//inicializacia vyp=22; zap=6;

//podmienka
if ((hod>vyp)|(hod<zap)) lcd_string("Displej OFF"); else  lcd_string("Displej ON ");



hotova vec http://youtu.be/WePF-IR5ed8 uz by to malo ist


Naposledy upravil Atlan dne čt březen 03 2016, 16:39, celkově upraveno 2 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jirka89



Založen: Feb 24, 2006
Příspěvky: 271
Bydliště: Zlín

PříspěvekZaslal: čt březen 03 2016, 14:40    Předmět: Citovat

Video je soukromé. Nejde se kouknout. Hned jak dneska dorazím domů, tak to vyzkouším.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
jirka89



Založen: Feb 24, 2006
Příspěvky: 271
Bydliště: Zlín

PříspěvekZaslal: čt březen 03 2016, 18:42    Předmět: Citovat

Program klidně dám, dyť to není nic tajného: Wink

A konkrétní zobrazování na displeji mám zde:
kód:
ISR (TIMER1_OVF_vect){   
   TCNT1 = 65535 - 250;   //pro preruseni kazdych 1ms => (1ms/4us = 250)   
   //zobr_cas(hours, minutes, seconds, tecka);
   PORT_BLANK ^= (1 << BLANK);
   
   if (double_click == 1)   //rezim nastaveni
   {
      nastaveni_hodin();   //zavola se funkce, ktera ridi nastaveni hodin
   }    
   if ((double_click == 0) && (displej_off == 1)) //normalni rezim zobrazeni a displej bude zapnut stale
   {
      zobrazeni_casu();   //funkce, ktera zobrazi cas
   }
   if ((double_click == 0) && (displej_off == 0))   //rezim, kdy bude displej vypnut
   {
      zobr_vlastni(20,20,20,20,20,20);   // na vsech digitech nezobrazi nic
   }
}


A zbytek kódu je zde: http://paste.ofcode.org/W9raRfxu6gxD4MFX7NbVuT

Jenom jsem tam nedával inicializaci. Snad je to aspoň trošku přehledné.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: čt březen 03 2016, 23:39    Předmět: Citovat

Jeejda napsal(a):

Z logiky věci, když chci něco nastavovat na vyplým zařízení, tak ho musím nejdřív zapnout, že…
Na jakém vyplém zařízení? Řešíme tu obecnou věc, jak nastavovat zapnutí nebo vypnutí v daném denním intervalu. A pokud chci reakci na změnu nastavení co možná nejdříve, tak způsob, který navrhnul AB1 nevyhoví.

Co mám zkušenosti se zákazníky, tak s přístupem "když jste si to jednou nastavili, nemůžete to zpětně změnit" by mě brzo vyfakovali.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
mtajovsky



Založen: Sep 19, 2007
Příspěvky: 3698
Bydliště: Praha

PříspěvekZaslal: pá březen 04 2016, 23:16    Předmět: Citovat

Zařízení se zhasnutým displejem není vypnuté zařízení. Klidně si dovedu představit tlačítko, kterým se displej rozsvítí je-li zhasnut (variantní funkce některého tlačítka při zhasnutém displeji) a umožní změnu nastavení. Ta by se pak projevila při nejbližší změně času, tedy třeba do 1 minuty od nastavení.

Ad posouvání času dozadu - tak tohle to bylo opravdu zbytečné. Cílem je možnost kdykoliv zadat nové nastavení a jeho uplatnění co nejrychleji, a konkrétní příklad jsem, myslím, jasně popsal. Nikoliv revokovat historii.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Atlan



Založen: May 10, 2004
Příspěvky: 4511
Bydliště: Košice

PříspěvekZaslal: so březen 05 2016, 13:52    Předmět: Citovat

Je to marny, je to marny....
Ja mam na zosilnovaci osetrene tak ze po vypnuti displej svieti 20% intenzitou 10 minut a potom zhasne. Zatlacenim "lubovolneho" tlacidla na DO sa rozsvieti displej naplno na 10s.
Tak sa mozes inspirovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.13 sekund