Esta vez ha sido más dificil solventarlo ya que es un bug del compilador CCS.
Resulta que este al tener la patilla de recepción de la UART en la misma que la entrada analógica 11, no pone el pin como entrada digital, sino como entrada analógica que en este caso no nos interesa y encima la función setup_adc_ports() de esta versión de CCS no es capaz de hacerlo aunque le pongamos NO_ANALOGS, ya que como comenté es un bug del compilador, para hacerlo funcionar hay que acceder a la dirección de memoria de dicha entrada analógica y ponerla a cero de la siguiente forma.
#include <18F13K50.h>
#fuses HS, NOWDT, NOPROTECT, NOLVP, USBDIV1, CPUDIV1
#use delay(clock=12000000)
#use rs232(baud=57600, parity=N, xmit=PIN_B7, rcv=PIN_B5, stream=PC, bits=8)//Por HW
#byte ANSEL = 0xF7E //Dirección de memoria del byte ANSEL
#byte ANSELH = 0xF7F //Dirección de memoria del byte ANSELH
...
...
void main(void) {
ANSEL = 0; //La ponemos digital
ANSELH = 0;//La ponemos digital
while(true)
{
...
...
}
}
Bueno espero que esto no le vuelva a ocurrir a nadie ya que he estado a punto de tirar el ordenador por la ventana. Por cierto la versión que estoy actualmente usando es la 4.084
Un saludete.