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:
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;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.