Saludos! El problema es que estoy migrando un codigo del 16f876 al 18f1320 y me esta dando mas de un quebradero de cabeza, es de un bot y mediante la interrupcion RB4-7 intento gestionar el modo siguelineas; pero cuando me entra en este modo el micro me hace cosas raras tales como resetearme salidas o si me hiciera un reset el micro (guardan sus valores las variables) y no funcionar las interrupciones RB4-RB7; las lineas RB4-RB5 las uso como salidas. Estoy usando CCs
#fuses INTRC_IO,NOWDT, PUT, NOBROWNOUT, /*BORV45,*/ FCMEN, NOCPD, STVREN, NODEBUG, NOLVP, NOWRT, NOWRTC, NOWRTD, NOIESO, NOEBTR, NOEBTRB, NOMCLR, NOPROTECT, NOCPB
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
#INT_RB
void IntPortB4_7(){
//Izquierdo B7 y derecho B6
sigueline = input_b() && 0xD0;
sigueline = sigueline>>6;
switch (sigueline) {
case 0 : //los dos en blanco
//m_nuevo= adelante;
m_nuevo = adelante;
break;
case 1 : // derecho en negro
m_nuevo = izquierdaS;
break;
case 2 : //izquierdo en negro
m_nuevo = derechaS;
break;
case 3 : //los dos en negro
m_nuevo= atras;
break;
}
if (m_nuevo!=m_estado){
configura_motores();
}
}
Esta es la parte de las interrupciones que si la quito y no las activo, no tengo problemas; asi que no se que puede ser, a ver si alguien sabe que puede ser, gracias de antemano. He puesto esta parte porque es la que creo me da problemas y los fuse, para que sea mas facil la lectura, pero si lo veis necesario pongo todo el codigo