o Iran tá certo !
é isso mesmo !!
e o formato de declaração do SDCC serve tb para o Keil:
- Código: Selecionar todos
void trata_ISR0 ( void ) interrupt 0 // para INT0
{
// seu código aqui
}
void trata_ISR1 ( void ) interrupt 2 // para INT1
{
// seu código aqui
}
sem esquecer que se a detecção for por nível, e se o sinal estiver baixo qdo a interrupção for atendida, vai disparar outra interrupção, dentro da interrupção.
pra resolver este problema, é necessário desabilitar a interrupção externa quando vc entrar no tratamento dessa interrupção, e recuperar o estado quando vc sair do tratamento.
uma coisa desse tipo aqui:
- Código: Selecionar todos
void trata_ISR0 ( void ) interrupt 0
{
IE0 = 0; // desabilita a interrupção externa 0
// seu código aqui
IE0 = 1; // habilita a interrupção externa 0
}
acho que é isso. experimenta aí.
[]'s
RETI.