Tema: Re: Padekit pagaut bug'a (Arduino)
Autorius: CodeC
Data: 2015-06-06 20:34:09
On 2015.06.06 11:41, ejs wrote:

> /me puikiai supranta kad "if (c > 623)" , "Serial.println(c);" ir "c =
> 0;" kalba eina apie tris skirtingas "c" vertes, kurios kartais gali
> sutapti.
>
> Vienintelė vieta kur gali KAŽKAS ATSITIKTI yra "c = 0;"
> todėl užtektų šią vietą perrašyti su cli(); c = 0; sei();

sesk vel du
vieta kur "kazkas" tikrai atsitinka, tai c uzkrovimo is ram vieta ("if 
(c > 623)") eilute. todel, kad tai NE atomic operacija. tau jau gal 3 
zmones parase esme, bet vistiek toliau nesamones kliedi ir dar kitus 
klaidini. "jei tik skaityt moketum..."
visas vietas, kuriose access'inamas "c" kintamasis NE interrupt 
kontekste, reikia pakisti po lock'u, tiek nuskaitant, tiek irasant.