Interrompem em Arduino

Interrompem em Arduino
Na programação do Arduino para evitar uma invasão, o fluxo das interrupções do código é usado. Essas interrupções consistem em instruções especiais para o respectivo obstáculo causado no funcionamento do código. Da mesma forma, as interrupções também podem ser usadas para monitorar qualquer outra tarefa em um horário específico. Este discurso explica brevemente interrompe usado em Arduino

O que são interrupções

Para entender o conceito de interrupções, podemos tomar um cenário de um acidente de carro. Suponha que o carro esteja descendo a rodovia e os eletrônicos de carro sejam monitorados continuamente pelo microcontrolador como medir a velocidade do carro e a temperatura da cabine e coisas assim. De repente, o carro atinge algo, então o computador do carro para tudo e executa a abertura de airbags. Então, aqui neste exemplo o acidente é uma interrupção e a abertura do airbag é a instrução dada se essa interrupção ocorrer. Então, depois de abrir os airbags, o computador continuará a executar suas funções de rotina.

Interrompem em Arduino

Na programação Arduino para lidar com a interrupção, uma função chamada rotina de serviço de interrupção é usada. Esta função é chamada quando a interrupção é acionada, pois essa função carrega a instrução para executar quando qualquer interrupção é acionada. Interrupções podem ser baseadas em software ou hardware, principalmente as interrupções no Arduino são baseadas em hardware.

Interrupções de hardware: Quando uma invasão é causada no fluxo de um programa Arduino por qualquer um dos dispositivos de entrada interface com Arduno é chamado de interrupção de hardware.

Software interrompe: Quando o fluxo do programa Arduino é interrompido devido ao computador ou a algum software, esses tipos de interrupções são chamados de interrupções de software.

Para interrupções baseadas em hardware, são usados ​​dois pinos para a placa Arduino UNO.

A função usada para declarar a interrupção é o Anex AnexInterrupt () função. Esta função tem três argumentos: primeiro é o pino de interrupção, o segundo é a rotina de serviço de interrupção (ISR) e o último é o estado em que a interrupção ocorrerá. Da mesma forma, para declarar o pino de interrupção para o Arduino DigitalPINTOINTHERRUPE () função é usada. A sintaxe para a função de interrupção do anexo é dada como:

Anexe o interrupção (DigitalPINToiTrupt (PIN), ISR, MODE);

Existem cinco modos usados ​​para definir o estado de interrupção que são os seguintes:

  • Quando o estado mudar para baixo do alto modo no qual a interrupção será acionada BAIXO.
  • Se o pino mudar seu estado para alto de baixo, para que o modo de interrupção seja ALTO.
  • Quando a interrupção deve ser acionada quando houver uma mudança no estado do pino, alto ou baixo, o modo MUDAR será usado.
  • Quando a interrupção deve ser desencadeada à medida que o estado passa de baixo a alto ASCENDENTE Modo será dado.
  • Quando a interrupção deve ser desencadeada à medida que o estado passa de alto a baixo CAINDO o modo será dado para a função de interrupção.

Exemplo

Para dar uma imagem clara das interrupções em Arduino, um exemplo de interrupção é ilustrado. Neste exemplo, a mudança no estado de alta para baixa de LED é tomada como um gatilho para a interrupção e o código de desencadear uma interrupção é dada:

const int ledpin = 12;
const int interruptpin = 2;
estado bool = alto;
Void Setup ()
pinmode (ledpin, estado);
pinmode (interrupção, input_pullup);
AnexeRrupt (DigitalPINToiTrupt (interrupção), piscar, alteração);

Void Loop ()
DigitalWrite (Ledpin, estado);

Void Blink ()
estado = !estado;

Diagrama de circuito

Conclusão

As interrupções no Arduino são usadas para lidar com os arrombamentos esperados no fluxo do código. As interrupções também podem ser usadas para executar qualquer tarefa de prioridade mais alta em um horário específico, quebrando o fluxo de trabalho do programa Arduino. Depois que a interrupção é tratada, o programa executará as tarefas normais que ele estava executando. Neste artigo, o que são interrupções e como elas são usadas em Arduino são discutidas brevemente.