Hola como estas pero ya resolvi el problema al parecer esta en la instruccion de setup_oscillator, cambie algunos parametros que tenia esta instrucción y funciono... estuve toda una semana con el problema y lo resolvi, asi que si alguien trabaja con el PIC 18F4550 tomen en cuenta la observacion
#include <18F4550.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES XT //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV20 //Brownout reset at 2.0V
#FUSES NOPUT //No Power Up Timer
#FUSES NOCPD //No EE protection
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES NOWRTC //configuration not registers write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
#FUSES NOCPB //No Boot Block code protection
#FUSES MCLR //Master Clear pin enabled
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES PLL12 //Divide By 12(48MHz oscillator input)
#FUSES CPUDIV4 //System Clock by 4
#FUSES USBDIV //USB clock source comes from PLL divide by 2
#FUSES VREGEN //USB voltage regulator enabled
#FUSES ICPRT //ICPRT enabled
#use delay(clock=8000000)
#use rs232(baud=9600, parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) //manejo del RS2326.
char rcvchar = 0x00;
#int_RDA
void RDA_isr(void)
{
disable_interrupts(GLOBAL);
rcvchar = 0x00;
if(kbhit()){
rcvchar = getc();
if (rcvchar == 0x61){
OUTPUT_TOGGLE(PIN_D1);
}
/*
else{
OUTPUT_LOW(PIN_D1);
}*/
}
enable_interrupts(GLOBAL);
}
void main(void){
/*
disable_interrupts(GLOBAL);
disable_interrupts(INT_RDA);
*/
setup_psp(PSP_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// setup_oscillator(OSC_8MHZ|OSC_TIMER1|OSC_31250|OSC_PLL_OFF);
setup_oscillator(OSC_8MHZ|OSC_PLL_OFF);
setup_adc_ports(NO_ANALOGS);
// set_tris_D(0b10000011);
// set_tris_C(0b10000000);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
/* OUTPUT_LOW(PIN_D1);
delay_ms(5000);
*/
while(1){
if (!input(PIN_D4)){
delay_ms(5000);
printf("\n\rPassword: ");
/* output_toggle(PIN_D1);
delay_ms(1000);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
*/
}
}
}