Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Eletrônica / Projeto de Sistemas Microcontrolados / Aula
- A chave GIE é, automaticamente, desligada antes de desviar para um vetor de interrupção, o que significa que duas interrupções não serão tratadas ao mesmo tempo, ou seja: uma interrupção não gerará um desvio caso outra interrupção já esteja sendo tratada.
- Entretanto, o flag da segunda interrupção será marcado e, quando o tratamento da primeira terminar, o GIE será novamente ligado (através da instrução RETFIE) e o sistema voltará a ser desviado para o vetor de interrupção (devido ao flag da segunda interrupção).
- Como todas as interrupções desviam para o mesmo ponto, é necessário testar os flags de todas as interrupções ligadas para saber qual realmente ocorreu. Como mais de uma ação vinculada às interrupções pode acontecer ao mesmo tempo, a ordem dos testes é que determina a prioridade de tratamento.
- Excetos ADIF, TXIF e RCIF, os flags das interrupções não são automaticamente limpos ou “resetados” pelo sistema após o retorno da interrupção, cabe ao usuário efetuar esta operação no momento da saída da rotina de tratamento da interrupção.
O fluxograma no tratamento de uma interrupção é mostrado na Figura 12.
Versão 5.3 - Todos os Direitos reservados