Hodiny a časování

Jirka
Příspěvky: 28
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvekod Jirka » 26 lis 2016, 11:04

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: 55
Registrován: 02 dub 2014, 15:30

Re: Hodiny a časování

Příspěvekod Vladimir66 » 26 lis 2016, 13:38

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

Jirka
Příspěvky: 28
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvekod Jirka » 26 lis 2016, 16:56

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: 502
Registrován: 16 úno 2013, 14:26

Re: Hodiny a časování

Příspěvekod Dex » 26 lis 2016, 19:07

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 | rxd.cz | codetory.cz

Jirka
Příspěvky: 28
Registrován: 18 lis 2015, 12:06

Re: Hodiny a časování

Příspěvekod Jirka » 28 lis 2016, 09:09

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: 145
Registrován: 01 kvě 2013, 21:27

Re: Hodiny a časování

Příspěvekod DavidO » 29 lis 2016, 20:53

Tak já to úmyslně utrhnu, přečtěte si mou odpověď zde.

snail
Příspěvky: 35
Registrován: 24 úno 2013, 22:52

Re: Hodiny a časování

Příspěvekod snail » 30 pro 2016, 23:13

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: 197
Registrován: 11 dub 2013, 00:17

Re: Hodiny a časování

Příspěvekod pgerla » 31 pro 2016, 16:58

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.


Zpět na “Arduino”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host