Dzień dobry,
Prosiłbym o pomoc w zrozumieniu zagadnienia dot. opóźnień w programie kontrolera Arduino.
Problem z jakim się spotykam to pomiar temperatury w zadanym, określonym czasie. Czyli chciałbym wykonać pomiar temperatury co 10 sek. ale przed tym pomiarem chciałbym aby pozostałe funkcje programu (takie jak wyjścia) były "zablokowane" na czas powiedzmy 0,2 sek. Oczywiście nie mogę użyć delay.
Próbowałem to zrobić za pomocą funkcji millis ale nie potrafię wymyślić skutecznego rozwiązania.
Poniżej wycinek kodu jaki chciałbym uzyskać z tym, że bez delay.
Prosiłbym o pomoc w zrozumieniu zagadnienia dot. opóźnień w programie kontrolera Arduino.
Problem z jakim się spotykam to pomiar temperatury w zadanym, określonym czasie. Czyli chciałbym wykonać pomiar temperatury co 10 sek. ale przed tym pomiarem chciałbym aby pozostałe funkcje programu (takie jak wyjścia) były "zablokowane" na czas powiedzmy 0,2 sek. Oczywiście nie mogę użyć delay.
Próbowałem to zrobić za pomocą funkcji millis ale nie potrafię wymyślić skutecznego rozwiązania.
Poniżej wycinek kodu jaki chciałbym uzyskać z tym, że bez delay.
aktualnyCzas = millis();
if (aktualnyCzas - zapamietanyCzas >= 10000UL)
{
//delay (2000);
//pomiar temperatury
zapamietanyCzas= aktualnyCzas;
}