Olá senhores, olha eu aqui de novo !!!
Larguei mão de usar o CCS e agora estou me aventurando no HI-TECH e, por enquanto, estou gostando. Como nele se trabalha diretamente com os registradores a gente acaba aprendendo mais sobre o hardware que estemos usando, no meu caso o 16f877A.
Agora uma duvida: Estou usando os comparadores analógicos para comparar uma tensão externa, se ela for maior que a referencia dispara uma interrupção. Configurei os comparadores e eles funcionaram certinho (saida C1OUT), mas não estou conseguindo fazer a interrupção!!!
Meu codigo:
CMCON = 0b00000010; //configura os comparadores para o modo 4.
CVRCON = 0b10000101; //configura o modulo REF. interna com tensão de 2,03V.
INTCON = 0b11000000; //habilita a interrupção por periferico.
PIE1 = 0b01000000; //usar interrupção dos perifericos (comparadores analogicos).
CMIF = 0;
while(1)
{
/*
if(C1OUT == 1)
RD1 = 1;
else
RD1 = 0;
*/
}
}
void interrupts()
{
if(CMIF == 1)
{
CMIF = 0;
RD1 = 1;
DelayMs(1000);
RD1 = 0;
}
}
Não sei se esse codigo está faltando alguma coisa ou tem alguma coisa errada...será que vcs poderiam me ajudar a resolver isso ???
Muito obrigado,
Denis.