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.