Framework (A-Z)

Referencia para la versión de Wiring 1.0 Build 0100+. Si tiene una versión previa, use la referencia incluida con su software. Si encuentra errores o tiene comentarios, no dude en contactarnos.

Nombre

detachInterrupt()

Ejemplos
int val = 0;

void setup() {
  // set myFunction to be called everytime 
  // interrupt 2 is generated
  attachInterrupt(EXTERNAL_INTERRUPT_2, myFunction, RISING); 
  // Starts serial to print data
  Serial.begin(9600);            
}

void loop() { 
  val = val + 1;
  if (val > 10000) {
    detachInterrupt(EXTERNAL_INTERRUPT_2);
  }
  delay(100);
}

void myFunction() {
  // WARNING: you should avoid doing long procedures in interrupt routines
  // Since this is an interrupt routine
  // and Serial is an interrupt driven output
  // interrupts must be enabled before printing
  interrupts();
  Serial.print("Interruption generated");
}
Descripción Es posible generar y atender interrupciones externas en el hardware de Wiring. En las tarjetas Wiring v1 los pines con capacidad de generar interrupciones externas son: 0, 1, 2, 3, 36, 37, 38 y 39. En la tarjeta Wiring S los pines con capacidad de generar interrupciones externas son: 2, 3 y 18. Además de ser pines digitales normales, note como los pines 0 y 1 son también utilizados por librerias como Wire (TWI) o Serial/Serial1. El comando detachInterrupt() elimina (desconecta) la función usada para atender la interrupción específica. ADVERTENCIA: evite hacer procedimientos largos en rutinas de interrupción, adicionalmente revise como en el ejemplo anteriro se hace un llamado a interrupts() para activar las interrupciones y permitir el uso de Serial en la rutina de interrupción.
Sintaxis
detachInterrupt(interrupción)
Parámetros
interrupción El número de la interrupción externa: EXTERNAL_INTERRUPT_0, EXTERNAL_INTERRUPT_1 .. etc.
Retorna Ninguno
Uso Application
Relacionados attachInterrupt()
interruptMode()
LOW
CHANGE
FALLING
RISING
Updated on July 07, 2011 11:12:48pm PDT

Creative Commons License