09-05-2018, 10:17
(09-05-2018, 08:56)Robson Kerman napisał(a): Z drugiej jednak strony, co to była by za pomoc, widząc że dzieciak ma problem z konwersją milisekund na godziny, minuty i sekundy, czyli jest na 100% początkujący, a ja bym mu napisał "Weź se zrób na przerwaniach".
Dobrych nawyków trzeba uczyć od początku, zwłaszcza, jeśli kod nie jest skomplikowany. Pod linkiem https://playground.arduino.cc/Code/Timer opisane są przykłady użycia biblioteki timer. W przypadku autora w setup wystarczy dodać
Kod:
t.every(1000, takeReading);
Kod:
void takeReading()
{
licznik_sekund++;
}
zadeklarować zmienną:
Kod:
uint32_t volatile licznik_sekund=0;
I mamy licznik sekund.
Z odczytem licznika trochę gimnastyki, bo to nie ARM i 32 bitów nie odczyta jednym rozkazem
Kod:
uint32_t CzytajLicznikSekund()
{
ATOMIC_BLOCK //sufiks dobrać wegług potrzeb
{
uint 32_t cnt = licznik_sekund;
}
return cnt;
}
PS
Mam nadzieję, ze niczego nie pominąłem.