• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
millis() vs. delay()
#1
Przeczytałem ostatnio, żeby zapomnieć o używaniu funkcji delay() i korzystać wyłącznie z millis(). Czy faktycznie tak należy robić?

Drugie pytanie: jak w takiej sytuacji obsłużyć wciśnięcie przycisku, aby w ciągu sekundy tylko raz odczytać jego stan za pomocą digitalRead()?
 
Odpowiedź
#2
(30-01-2017, 11:25)laudes napisał(a): Przeczytałem ostatnio, żeby zapomnieć o używaniu funkcji delay() i korzystać wyłącznie z millis(). Czy faktycznie tak należy robić?
Możesz używać delay() ale musisz zrozumieć że w momencie wywołania delay() program "stoi" na tej funkcji tak długo aż minie zadany czas. Jeśli potrzebyjesz wygenerować sygnał co kilkadziesiąt mikrosekund to jak najbardziej jest sens użycia delay()(oczywiście inne metody też są).

Cytat:Drugie pytanie: jak w takiej sytuacji obsłużyć wciśnięcie przycisku, aby w ciągu sekundy tylko raz odczytać jego stan za pomocą digitalRead()?
Tak samo jak miganie diodą co 1 sekundę z tym że zamiast ustawiać/kasować pin czytasz wejście przycisku.
Miganie diodą z użyciem millis z łatwością znajdziesz w sieci.
Pomagam za darmo więc szanuj mój czas.
Wklejaj tekst a nie jego zdjęcie.
Nie pisz następnego postu jak nie odpowiedziałeś na poprzedni.
Jak mądrze zadawać pytania
 
Odpowiedź
#3
Bardzo dziękuję!

Dla innych początkujących wklejam link, może się przyda: https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
 
Odpowiedź
#4
Może też biblioteki leOS 2, times

Wysłane z mojego DRIVE przy użyciu Tapatalka
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości