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

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

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

}

void loop() {

  // Rotinas

  // Rotinas

  // Rotinas

}

Valeu, amigos

Exibições: 93

Respostas a este tópico

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2017   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço