Gracias Lager... te comento que he tratado de compilar el cogigo que me has pasado, pero creo que no estamos hablando del mismo compilador pues me da errores, pero me has dado algunas ideas que me han funcionado muy bien. Hice algunas pruebas y este fue el resultado, envío caracteres cargados en distintas variables (B1, B2, B3 y B4) y las recibo del otro lado visualizandolas en la pantalla LCD. Esto es lo que hice...
En el PIC maestro puse esto (éste recibe los datos y los muestra en la LCD):
DEFINE LCD_DREG PORTD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTE
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTE
DEFINE LCD_EBIT 1
DEFINE LCD_LINES 2
TRISA = %00011111
TRISB = %00000000
TRISC = %00000000
TRISD = %00000000
TRISE = %01000000
B0 VAR BYTE
ADCON1 = %00000110
serial:
SERIN PORTC.7 , 9600, B0
ESPERA1:
LCDOut $fe, 1 " Limpia la LCD
LCDOut $fe, 2 " Posiciona el cursor en el inicio
LCDOut "Recibiendo Datos" " escrebe
LCDOut $fe,$C0, "Data: ", B0
Pause 200 " Pausa de 200 milisegundos
GOTO serial
End
En el PIC esclavo puse esto (Este envía los datos):
TRISA = %00011111
TRISB = %00000000
TRISC = %00000000
TRISD = %00000000
TRISE = %01000000
B1 VAR BYTE
B2 VAR BYTE
B3 VAR BYTE
B4 VAR BYTE
B1 = "H"
B2 = "o"
B3 = "l"
B4 = "a"
ADCON1 = %00000110
inicio:
if porta.0 = 1 then inicio
SEROUT PORTC.6 , 9600 , [B1, 0]
pause 205
SEROUT PORTC.6 , 9600 , [B2, 0]
PAUSE 205
SEROUT PORTC.6 , 9600 , [B3, 0]
pause 205
SEROUT PORTC.6 , 9600 , [B4, 0]
PAUSE 205
GOTO inicio
End
Gracias por el impulso... Saludos!