Autor Tema: interupciones en MikroC  (Leído 2113 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado dkmar11

  • PIC10
  • *
  • Mensajes: 14
interupciones en MikroC
« en: 22 de Agosto de 2018, 14:51:56 »
hola estoy programando una interupcion por cambio de estado en el puerto RB, sin embargo no me trabajo y es muy simple, no me sale de la interrupcion. alguien me ayuda??? esta programado en mikroC y simulado en proteus.

aqui en codigo:


void interrupt(void){
    if (intcon.RBIF==1){
    LATC.B1=0;
    Delay_ms(1000);
    PORTB;
    Delay_1us;
    intcon.RBIF=0;
    }
}
void main()
{
intcon.GIE=1;
intcon.RBIE=1;
TRISC.B1=0;
TRISB=0xff;


     while (1){
     LATC.B1=1;
    }
}

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:interupciones en MikroC
« Respuesta #1 en: 02 de Septiembre de 2018, 10:42:48 »
Varios problemas veo...

Los cuales son:

- Tenes 2 delay en la interrupcion
- No veo donde pones los pines como digitales, ya que muchos micros lo primero es ponerlo como digital

Luego de todo eso podes hacer algo asi:



Código: C
  1. void interrupt(void){
  2.     if (intcon.RBIF==1){
  3.     int tmp;
  4.      LATC.B1^=1;
  5.     tmp = PORTB;
  6.     intcon.RBIF=0;
  7.     }
  8. }
  9. void main()
  10. {
  11. TRISC.B1=0;
  12. TRISB=0xFF;
  13. // Poner los pines a digitales aca
  14. intcon.RBIF = 0; // Limpiamos antes de activar
  15. intcon.GIE=1;
  16. intcon.RBIE=1;
  17.  
  18.  
  19.      while (1){
  20.     }
  21. }


 

anything