Esto es terrible, miren: la instrucción write_eeprom() de CCS incluye dentro de su código en ensamblador la consulta del bit WR antes de continuar:
00BC: BSF 1C.1
00BD: BTFSC 1C.1
00BE: GOTO 0BD
1C.1 es el bit WR del registro EECON1 (Banco 1), el cual se pone a 1 para empezar la escritura de la EEPROM y por hardware se pone a 0 cuando esta termina, es decir, el PIC se queda preguntando si ha terminado la escritura TODO EL TIEMPO QUE DURA LA ESCRITURA, lo cual es una gran pérdida de tiempo (entre 4 y 8ms según DS), pues bien se puede escribir el siguiente byte en la rutina de interrupción de la EEPROM y así nuestro PIC nunca esta sin hacer nada y hace una escritura segura de cuantos bytes querramos en la EEPROM...
¿Habrá alguna forma de evitar esto? he intentado habilitar previamente la interrupción, poner la rutina antes y nada, es decir, evitar que CCS coloque las 2 últimas instrucciones mensionadas.
De antemano gracias por vuestra ayuda. Salu2.