joao escreveu:Ola phophollety,
Como eu sempre falo, eu não trabalho com PIC a várias decadas(ok, é apenas 2 anos, mas nada como aumentar um pouco!

)
Ele falou de interrupção. Não seria aquela outra interrupção que para o programa e entra numa área de memória específica?
Os exemplos que vc deu eu entendi que vc apenas leu o bit do botão, mas não usar uma interrupção do programa.
Posso estar enganado, mas de qualquer maneira, pode explicar um pouco mais?
[]'s
Sim, supus que ele sabe fazer isso, por que existem dois tipos de interrupção externa no PIC:
Por mudança de estado, esta, tem em vários pinos, mas somente um único flag de interrupção, você habilita quais pinos entre os possíveis interrompam e como diz o nome, é na mudança de estado, seja de 0 > 1 ou de 1 > 0 ela sempre ocorre, cabe ao programador saber qual interrompeu e tratar.
Já a interrupção por mudança de borda, esta escolhe-se em qual irá interromper, subida ou descida e, para cada interrupção há um flag, entretanto, como é mais complexa, existem poucas dela.
Peguemos um pic pequeno, alguns nem tem interrupção por borda, apenas mudança de estado, um um pouco melhor, tem uma apenas de borda e várias de mudança de estado, e um ferrado, como os 24hj tem em geral 4 de borda e várias (mais de 20) de estado.
Será mais fácil achar a solução sabendo qual o modelo escolhido, qual tipo de int quer se utilizar e qual linguagem o usuário está.