No es XT el fusible cuando usas 20MHZ, sino HS.
Y no esque el delay detenga la ejecucion, sino que, tu programa, aunq quieras que el PIC haga algo solo una vez en su larga vida... Debe ir asi:
void main (void)
{
output_high(TEST);
delay_ms(300);
output_low(TEST); // Y claro, aqui te falto el ";" aunque creo que se te haya pasado nomas, sino no compilaria.
While(true)
{
}
}
Ponlo dentro del ciclo while si quieres que se ejecute siempre como un oscilador.
Por otro lado, aunq no muy importante, nose desde que version de CCS el compilador por default especifique automaticamente los registros TRIS... Asi que mejor asegurate poniendo #USE STANDARD_IO(A). Aunq como te digo, esto no creo mucho que sea.
Otra forma mas profesional de ponerlo seria con "output_toggle(TEST)" pero esto ya son tonteras
Tambien, en la configuracion del 232 basta con poner UART1 enves de los pines cuando usas el hardware del PIC, el compilador ya se los sabe de memoria
Hay mas fusibles que configurar para tener la seguirdad de que funcionara bien, pues este PIC tiene integrado USB y una seria de configuracion de oscilador para hacerlo funcionar, pero creo que asi debe de funcionar tambien, solo tenlo en cuenta.
Por ultimo, por una mala experiencia, desde entonces, protejo el PIC contra lecturas (fusible PROTECT) para cualquier programa de cualquier PIC que este en pleno desarrollo. Aunq esto me quite la posibildiad de poder leer su .hex posteriormente y no poder usar debugger en el, pero nunca e necesitado de ninguno de los dos asiq lo sigo haciendo.
Salu2.