Muchas gracias por las respuestas, pero me temo que continúo como antes. La configuración es 9600,8,N,1.
He probado con otra alternativa al MAX232, el esquema es el de la página de PABLIN,
http://www.pablin.com.ar/electron/circuito/mc/ttl232/index.htmque está formado por 2 transistores un diodo y unas cuantas resistencias. Pues bien. Conectando este esquema, programando el pic con Invert. La trasmisión no funciona, pero si la Recepción.
Puede que sea algo del programa??. Os mando el codigo que meto en el pic está hecho con el CSS
#include <16F84A.h>
#fuses XT, NOWDT, NOPROTECT
#use delay(clock=4000000)
#define Tx PIN_B4 // PIN de Transmisión
#define Rx PIN_B5 // PIN de Recepción
#use rs232(baud=9600, xmit=Tx, rcv=Rx,INVERT)
SET_TRIS_B(0b01101111) ; // PIN B4 Tx Salida B5 Rx Entrada
SET_TRIS_A(0x1F) ;
PORT_B_PULLUPS(TRUE);
SETUP_COUNTERS(RTCC_INTERNAL,RTCC_DIV_2);
byte ENTRADA;
void S_ENVIAR (byte a){
putc (a);
delay_ms (100);
}
void S_ENCENDER_LED () {
output_high(PIN_B1);
delay_ms (500);
output_low(PIN_B1);
delay_ms (500);
}
VOID MAIN() {
Inicio:
ENTRADA = " ";
if (!input (PIN_A1)){ // Si se pulsa el A1
S_ENVIAR (65); // Se envia la letra "A"
}
if (kbhit()){ENTRADA = getc();}
if (ENTRADA=="B"){
S_ENCENDER_LED () ;
}
goto Inicio;
}
Resumiendo.:
Con MAX232 y con INVERT -> Transmisión PIC SÍ, Recepción PIC NO
Con esquema de transistores y sin INVERT -> Transmisión PIC NO, Recepción PIC SÍ
Alguna sugerencia ?
Muchas gracias