PIC 16F877A manejo de interrupciones [cerrado]

0

Estoy intentando escribir un código simple para recibir y reenviar datos usando USART pero el código no funciona.

¿Podría alguien dar sugerencias sobre posibles fallas en el código?

Estoy usando USART a una velocidad de baudios de 9600 con una frecuencia de reloj de 4MHz.

#include<pic.h>
void main()
{   
    TRISB=0X00;
    TXEN=1;
    SYNC=0;
    BRGH=1;
    SPEN=1;
    CREN=1;
   //RCEN=1;
    SPBRG=0X19;
    INTCON=0X80;
    TRISC7=1;
    TRISC6=0;
    RCIE=1;
    TXIE=1;
    while(1);
}

void interrupt rectrans()
{
    if(RCIF==1)
    {
      TXREG=RCREG;
      while(!TRMT);
      RCIF=0;
    }
    else if(TXIF==1)
    {
      TXIF=0;
    }
}

    
pregunta user2745976

1 respuesta

1

No ha habilitado las interrupciones periféricas en su registro INTCON (bit 6).
Intente configurar INTCON en 0xC0 en lugar de 0x80.

    
respondido por el brhans

Lea otras preguntas en las etiquetas