Uso de duas interrupções simultaneamente

Bom dia galera.

Estou com uma dúvida, primária mas que não estou entendendo bem.

Estou trabalhando em um projeto e vou precisar de usar as duas interrupções externas do arduino UNO.

Minha dúvida é como fazer para que no meio do processamento de uma rotina disparada por uma interrupção a outra não acione.

Será que algo como abaixo funciona, ou haveria algo mais “elegante”?:

// ROTINA DE INTERRUPÇÃO 0
void processo0() {
noInterrupts();
// rotinas a ser processadas
interrupts();
}

// ROTINA DE INTERRUPÇÃO 1
void processo1() {
noInterrupts();
// rotinas a ser processadas
interrupts();
}

void setup() {
// bla bla bla

//Inicializa interrupção 0
attachInterrupt(0, processo0, RISING);

//Inicializa interrupção 1
attachInterrupt(1, processo1, RISING);
}

void loop() {
// Rotinas
// Rotinas
// Rotinas
}

Valeu, amigos

sketch_teste.ino (475 Bytes)

Fazer rotinas de interrupção extremamente pequenas...

usar sei() e cli()... que é o que eu suponho que as funções interrupts() e noInterrupts() fazem. :wink:

Tks, Bubulindo.... :wink: