Hodiny a časování

Odpovědět
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvek od Jirka »

Vím, že je to mimo téma (ale myslím, že kvůli přehlednosti je snad zbytečné zakládat nové téma).
Má někdo zjištěno kolik může být v switch (x) { case 0: { } } těch case?
Pokud je to vůbec omezeno jinak než pamětí.
Vladimir66
Příspěvky: 385
Registrován: 02 dub 2014, 15:30

Re: Hodiny a časování

Příspěvek od Vladimir66 »

teoreticky je to omezeno pameti,
nekde jsem cetl, ze nektery kompilator vyhodnocoval "case 110" jako "case 10" , ze nebral tri cislice..
potrebujes stovky podminek ?
https://programmingelectronics.com/tuto ... d-version/

tento link je muj velmi oblibeny (vetsinu "spatnych" prikladu pouzivam :()
http://www.gammon.com.au/tips

-V66

pekny link o millis() a jeho porovnavani
https://arduino.stackexchange.com/quest ... s-rollover
Naposledy upravil(a) Vladimir66 dne 04 čer 2017, 23:22, celkem upraveno 1 x.
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvek od Jirka »

Ahoj, díky za reakci prostuduji.
Šlo mi o řízení jakousi postupkou (tedy x kroků) a zrychlení procesu (aby se nekontrolovaly podmínky postupně a zbytečně).
Zkusil jsem to do 300 - bez problémů.Dokonce i s číslováním po 10ti (aby se dalo vkládat opomenuté).
Uživatelský avatar
Dex
Administrátor
Příspěvky: 1519
Registrován: 16 úno 2013, 14:26

Re: Hodiny a časování

Příspěvek od Dex »

Vím, že je to mimo téma
Témata jsou zdarma, takže příště , prosím, ... ;)
"all your robots are belong to us"
robodoupe.cz
Jirka
Příspěvky: 55
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvek od Jirka »

od Vladimir66 » 26 lis 2016, 13:38
Stovky podmínek? No nevím kolik. Ale dělal jsem tester desek (pevná logika) nebo i jednduché řízení tak jsem to rozdělil na kroky.
Ale ve např.60tém kroku je již zbytečné procházet přes to co bylo (a již je vykonáno) nebo teprve bude (až bude splněn právě zpracovávaný krok).

od Dex » 26 lis 2016, 19:07
dal jsem to jen sem protože si myslím, že to bude zajímat málo koho a na hlavní stánce by to jen znepřehledňovalo (na Slovensku zakládá nové téma každý a třeba je to pak x krát místem). Polepším se.
DavidO
Příspěvky: 1133
Registrován: 01 kvě 2013, 21:27

Re: Hodiny a časování

Příspěvek od DavidO »

Tak já to úmyslně utrhnu, přečtěte si mou odpověď zde.
Nikoho plánovaně neurážím. Jestli se Vám nelíbí co píšu, tak to nečtěte. A ostatně, třeba za to nemůžu - Researchers believe that dark humor can be a significant symptom of dementia.
snail
Příspěvky: 35
Registrován: 24 úno 2013, 22:52

Re: Hodiny a časování

Příspěvek od snail »

Jednodušší možnost, jak naprogramovat hodiny v Arduinu, netrpí neduhy při přetečení hodnoty millis():

Kód: Vybrat vše

unsigned long  tik, ms;
int sec;

void setup() {
    tik = millis() + 1000;
}

void loop() {
  ms= millis();
  if (ms - tik < 500) {
    tik += 1000;
    sec++;
    // atd...
    // tento kód se provede každou sekundu
    // konstanta 500 musí být tak velká, aby se během této doby 
    // stačila hlavní smyčka dokončit za všech okolností
    // teoretické maximum je -1000UL
  }
}
J. Hanzal
pgerla
Příspěvky: 400
Registrován: 11 dub 2013, 00:17

Re: Hodiny a časování

Příspěvek od pgerla »

Lepší než zdegenerovat je generovat 1 Hz na Timer1 ... pak už jsme omezení jen svou omezeností. Takové hodiny nepřetečou dřív než vyteče elektrolit z baterie.
Odpovědět