Buen día, estoy realizando la comunicación serie de pic a pic con el pic18F4550. Pues resulta que no recibe bien la cadena de números que envía el TX. Etoy utilizando el pic a 32Mhz y pienso que eso tiene algo que ver, quizá la velocidad es elevada para la recepción en Baud. Por favor me podrían orientar.
Aquí pongo los códigos TX y RX.
EL CODIGO TX
#include <18F4550.h>
#device adc=10
#FUSES HSPLL,NOWDT,NOPROTECT,NOLVP,NOPUT,NODEBUG,USBDIV,PLL5,CPUDIV2,VREGEN,MCLR
#use delay(clock=32MHz)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, PARITY=N, BITS =8, STOP=1, TIMEOUT=1000, ERRORS)
#use fast_io(b)
int valor;
void main()
{
while(true)
{
for (valor=0;valor<=100;valor++) { printf("\f%2d",valor); delay_ms(100); }
}
}
EL RX
#include <18F4550.h>
#device adc=10
#FUSES HSPLL,NOWDT,NOPROTECT,NOLVP,NOPUT,NODEBUG,USBDIV,PLL5,CPUDIV2,VREGEN,MCLR
#use delay(clock=32MHz)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, PARITY=N, BITS =8, STOP=1, TIMEOUT=1000, ERRORS)
#include <lcd4x20.c>
#use fast_io(b)
int valor;
#int_RDA
void RDA_isr()
{valor=getc();}
void main()
{
lcd_init();
set_tris_b(0x0f);
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
while(TRUE)
{
lcd_gotoxy(1,1); printf(lcd_putc,"recibiendo=%d",valor);
}
}
Anexo código para u descarga y simulación.