que tal no se si me puedan ayudar con este problema, estoy intentado mandar el valor de una variable por el puerto serie de proteus, pero me manda caracteres extraños, estoy utilizando el pic 18f4550 y lo compilo con el maplab para obtener el .hex, ya le ajuste la velocidad a 9600 y tiene un cristal de 4Mhz no se si me puedan ayudar para poder visualizar los mensajes por la terminal virtual, el codigo es el siguiente:
#include <18F4550.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#define cuenta 15536 //TMR0-16bits 65536 - 50000=15536
//4*50000*10=1,000,000 microseg
//*******************************************
#use delay(clock=4000000)
//*******************************************
// declaracion variables globales
long i =0,miliseg=0,seg=0,min=0,hr=0;
#use rs232(baud=9600,xmit=PIN_C6,rcv=PIN_C7)
//*******************************************
// Rutina de servicio de interrupcion
#INT_TIMER1 //INT-Timer0
void clock_isr() {
set_timer1(cuenta);
i=i+1; // la variable contador se incrementa cada 100 ms
miliseg = (i*100);
}
void main(void) {
set_tris_d(0x00); //RB como salidas
SETUP_TIMER_1(T1_INTERNAL | T1_DIV_BY_2);
SET_TIMER1(cuenta);
ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS( INT_TIMER1 );
while(1){
printf("%ld\r",i);
printf("%ld\r",miliseg);
}
}