Diferencia entre revisiones de «CHANGE / FALLING / RISING»

De ArduWiki
Saltar a: navegación, buscar
(Página creada con «== Descripción == Identifica el LED a bordo. En el caso de Arduino UNO esta en el pin 13. == Sintaxis == <pre> attachInterrupt(digitalPinToInterrupt(pin), ISR, modo);...»)
 
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Identifica el LED a bordo. En el caso de Arduino [[UNO]] esta en el pin 13.
+
Se usan para expresar (en código fuente) la manera en que una interrupción externa debe dispararse.
  
 
== Sintaxis ==
 
== Sintaxis ==
Línea 10: Línea 10:
  
 
== Parámetros ==
 
== Parámetros ==
;modo: define el triger que puede ser: LOW, CHANGE, RISING, FALLING o HIGH.
+
;modo: define el trigger (disparador) que puede ser: LOW (mientras se mantenga en estado bajo), CHANGE (apenas el estado cambie), RISING (después de la transición del estado bajo al alto), FALLING (después de la transición del estado alto al bajo) o HIGH (mientras se mantenga en estado alto, sólo en Due).
  
 
== Advertencias ==
 
== Advertencias ==

Revisión del 13:16 23 jun 2018

Descripción

Se usan para expresar (en código fuente) la manera en que una interrupción externa debe dispararse.

Sintaxis

attachInterrupt(digitalPinToInterrupt(pin), ISR, modo);	//recomendado
attachInterrupt(interrupt, ISR, modo);	                //no recomendado
attachInterrupt(pin, ISR, modo);	                //Solo en Arduino Due, Zero, MKR1000 y 101.

Parámetros

modo
define el trigger (disparador) que puede ser: LOW (mientras se mantenga en estado bajo), CHANGE (apenas el estado cambie), RISING (después de la transición del estado bajo al alto), FALLING (después de la transición del estado alto al bajo) o HIGH (mientras se mantenga en estado alto, sólo en Due).

Advertencias

Nada.

Ejemplos

const byte pulsador = 2;
volatile byte estado = LOW;

void setup() {
   pinMode(LED_BUILTIN, OUTPUT);
   pinMode(pulsador, INPUT_PULLUP);
   attachInterrupt(digitalPinToInterrupt(botonPin), cambia, CHANGE);
}
//Función de interrupción (ISR)
void cambia() {
   estado = !estado;
}
void loop() {
   digitalWrite(LED_BUILTIN, estado);
}

Vea también

Referencias externas