Estoy intentando configurar la interrupción del puerto b en las interrupciones de cambio para trabajar con un programa que estoy escribiendo con la versión de demostración del MC XC8. Estoy usando un PIC16F628A Estoy usando este código para inicializar la imagen para la lectura de interrupción. Sin embargo, parece que cuando arranco mi programa se llama una interrupción. No entiendo por qué sucede esto, ya que la hoja de datos dice que las interrupciones solo se generarán para los pines establecidos como entrada y he configurado todo el puerto B para que salga. ¿Podría alguien explicar este extraño comportamiento?
int main()
{
TRISA2 = 0;
TRISA3 = 0;
PORTB = 0;
TRISB = 0;
CMCON = 0x07;
initialise();
writeCommand(0b00001111);
writeCommand(0b00000110);
writeString("Hello World ", 11);
GIE = 1;
RBIE = 1;
PEIE = 0;
while(1);
}
void interrupt interruptRoutine()
{
if(RBIF)
{
writeString("Interrupt", 9);
RBIF = 0;
}
}