Hola a todos nuevamente. Les comento, hice unas muy pequeñas modificaciones a los firmwares y finalmente pude realizar la comunicaciones en la forma en que lo deseaba. Los respectivos programas quedaron como se muestran a continuación:
Transmisor:
#include <18F2550.h>
#fuses XTPLL,USBDIV,PLL1,PUT,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG // FUSES PARA USAR USB
#use delay(clock=48000000)
#include <lcdpf.c>
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#byte porta=getenv("SFR:PORTA")
#byte portc=getenv("SFR:PORTC")
#byte portb=getenv("SFR:PORTB")
int VALOR;
int val,val1;
#int_RDA
void RDA_isr()
{
val=GETC();
if (val==1){
output_toggle(pin_a0);
PUTC(valor);
portb=(valor&0x0f);
valor++;
}
}
void main()
{
int valor=0;
portb=porta=portc=0;
set_tris_a(0b11111110);
set_tris_b(0xf0);
enable_interrupts(GLOBAL);
enable_interrupts(INT_RDA);
while(true)
{
}
}
Receptor:
#include <18F4550.h>
#fuses XTPLL,USBDIV,PLL1,PUT,CPUDIV1,VREGEN,NOWDT,NOPROTECT,NOLVP,NODEBUG // FUSES PARA USAR USB
#use delay(clock=48000000)
#include <lcdpf.c>
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,bits=8,parity=n)
#byte porta=getenv("SFR:PORTA")
#byte portb=getenv("SFR:PORTB")
#byte portc=getenv("SFR:PORTC")
#byte portd=getenv("SFR:PORTD")
#byte porte=getenv("SFR:PORTE")
int8 val;
#int_RDA
void RDA_isr()
{
val=GETC();
}
void main()
{ int i;
lcd_init();
porta=portc=portb=0;
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
set_tris_b(0x00);
set_tris_c(0xff);
set_tris_a(0xff);
set_tris_e(0x00);
WHILE(TRUE){
putc(1);
lcd_gotoxy(1,1);
printf(lcd_putc,"usart=%3u ",val);
lcd_gotoxy(1,2);
printf(lcd_putc,"usart=%3u ",val);
lcd_gotoxy(1,3);
printf(lcd_putc,"usart=%3u ",val);
portb=val;
delay_ms(200);
output_toggle(pin_e0);
}
}
Agradezco nuevamente sus ayudas richi78x y thegame