Stránka 13 z 13

Re: Hodiny a časování

Napsal: 26 lis 2016, 11:04
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í.

Re: Hodiny a časování

Napsal: 26 lis 2016, 13:38
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

Re: Hodiny a časování

Napsal: 26 lis 2016, 16:56
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é).

Re: Hodiny a časování

Napsal: 26 lis 2016, 19:07
od Dex
Vím, že je to mimo téma
Témata jsou zdarma, takže příště , prosím, ... ;)

Re: Hodiny a časování

Napsal: 28 lis 2016, 09:09
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.

Re: Hodiny a časování

Napsal: 29 lis 2016, 20:53
od DavidO
Tak já to úmyslně utrhnu, přečtěte si mou odpověď zde.

Re: Hodiny a časování

Napsal: 30 pro 2016, 23:13
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
  }
}

Re: Hodiny a časování

Napsal: 31 pro 2016, 16:58
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.