• 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
Jak zablokować przerwanie na określony czas?
#1
Mam pytanie jak na konkretnym pinie zablokować przerwanie INT0, INT1?   Skoro wewnątrz przerwania nie mogę użyć funkcji delay() ani millis() to jak sprawić  za pomocą software aby przerwania nie były obsługiwane przez kolejne 100 ms od momentu wywołania przerwania?
 
Odpowiedź
#2
wyłączyć?? detachInterrupt()
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#3
Ale jak zablokować wywołanie konkretnego przerwania na 100 ms od momentu poprzedniego przerwania? I nie może to blokować procesora.
 
Odpowiedź
#4
Dla 328P.
Włączenie:
EIMSK = (1 << INT0) | (1 << INT1);

Wyłączenie:
EIMSK = (0 << INT0) | (0 << INT1);
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości