• 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
Czy to prawda, że przerwanie nie może być wywołane, gdy w arduino działa delay()?
#1
Czy to prawda, że przerwanie nie może być wywołane, gdy w arduino działa delay()?
 
Odpowiedź
#2
Nie prawda przerwania działają.. Timery, pwm, rs, itd.. Wszystko działa w czasie delay
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#3
(08-09-2021, 11:43)Jarewa0606 napisał(a): Nie prawda przerwania działają.. Timery, pwm, rs, itd.. Wszystko działa w czasie delay
Prawda jest ze dzialaja wewnetrznie ( W procesorze )
 Nie prawda   gdy  Progmam zostaje zablokowany z delay()
 czyli ogolnie patrzac od strony delay() w programie nie dziala nic
Procesor sobie elektrony liczy z nudy
 
Odpowiedź
#4
Są przerwania wewnętrzne i zewnętrzne, oba działają w czasie delay(). Blokowane jest wykonywanie poleceń i funkcji w setup/loop, dlatego lepiej używać konstrukcji opartych na np. millis().
Tak samo zresztą każde polecenie czy wywołana funkcja zablokuje loop na czas swojego wykonania. Delay jest w tym o tyle szczególne, że czas trwania działania jest określony w argumencie funkcji i ten czas "blokady" programu jest jedynym celem działania.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#5
Dziękuję, rozumiem.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości