Olá pessoal!
Estou fazendo um programa para identificar a tecla pressionada de um controle remoto da Philips. O protocolo é o RC6.
Como há possibilidade de ocorrerem diversos erros, devido aos períodos dos pulsos existentes nos códigos enviados pelo controle remoto, tenho que monitorar todos eles. Isso está gerando não um problema, mas o uso não convencional para as interrupções. Explico melhor.
Quando uma tecla for pressionada, ocorre uma interrupção, que vai fazer a monitoração de todos os pulsos enviados pelo controle.
Sei que deve-se deixar o mínimo de tarefas possível dentro da interrupção, mas como estas tarefas necessitam ser tratadas a medida que os pulsos ocorrem, não estou vendo um meio de deixar poucas tarefas dentro da interrupção.
O que estou tentando descobrir é se não há um meio da interrupção identificar a transição no pino, e o tratamento ocorrer fora da interrupção.
Não quero ter que ficar monitorando o estado de uma entrada ou de um bit, para iniciar o tratamento. Quero que a interrupção se encarregue de monitorar e me informar quando ocorre, para que eu trate IMEDIATAMENTE E FORA da interrupção.
Não faço isso sem motivo. O tratamento gera muitas instruções de chamada a subrotinas, que por sua vez chamam outras. Minha preocupação é a de não estourar a pilha (stack).
Algum de vocês já passou por isso e resolveu?
Aguardo comentários.
MOR_AL