[RESUELTO] Problema Arduino Mega + RS232 + Hyperterminal

Hola:

Seguí este tutorial e hice la placa con el MAX232N (Texas Instruments): http://arduino.cc/es/Tutorial/ArduinoSoftwareRS232 Únicamente que el cable en vez de hacerlo, lo tengo yo comprado. Y uso un Arduino Mega 2560.

El tema es que el código que aparece en el link no me vale, necesito enviar por el Serial3 del Arduino Mega un texto a PC (uso PC para pruebas iniciales y ver que recibe correctamente en pantalla, luego usaré otro aparato). ¿Por qué no me imprime correctamente el mensaje con este código?

void setup() {
  Serial3.begin(57600);
}

void loop() {
  Serial3.println("Hola mundo");
  delay(5000);
}

En vez de recibir "Hola mundo", recibe " ' ' ' ' " (sin las comillas, o sea, recibe apóstrofes, con lo que recibe algo, pero mal).

La configuración de la Hyperterminal en Windows XP es igual al del link de arriba, únicamente modifiqué la velocidad de 9600 por 57600 (es la que usa el aparato en cuestión).

¿Alguna idea de qué sucede?

Un saludo y muchas gracias.

¿Has comprobado que el cable es cruzado y mandas la señal TX al RX del PC y viceversa?

rx-tx tx-rx gnd-gnd

Heke: ¿Has comprobado que el cable es cruzado y mandas la señal TX al RX del PC y viceversa?

rx-tx tx-rx gnd-gnd

En principio sí, ya que el cable es del aparato final con el que lo voy a usar, y de PC-aparato aparato-PC funciona correctamente. De todas formas, esta tarde voy a probar el cable para estar 100 % seguro de que es cruzado y lo comento por aquí.

Un saludo.

Bueno, pues ya funciona perfectamente, resulta que era el cable del aparato que no vale... Yo pensaba que era cruzado, pero lo comprobé y no era así, así que me hice un cable (o apaño más bien) y ahora ya funciona todo a la perfección, incluso con el aparato que quiero :)

Muchas gracias!!!

Me permito una pequeña explicación sobre el puerto serie y el lío en ocasiones con cables cruzados o no cruzados.

Originalmente el RS-232 existe para conectar un ordenador con un módem en el que las funciones de cada uno se enfocan como que el ordenador es normalmente el que emite y el módem el que recibe. En esta configuración la patilla por la que transmite el ordenador es la que utiliza el módem para recibir y el cable para unirlos será no cruzado.Creo que visto a día de hoy fue un error de base en cuanto a la concepción de la comunicación ya que hoy en día hay muchos equipos que se conectan por este puerto al ordenador y no se pueden reducir como simples receptores (pueden enviar tanta información o más al ordenador o el equipo que sea). Por tanto y, una vez desaparecida esa concepción de equipo transmisor y equipo receptor, muchos aparatos empezaron a instalar el conector con el patillaje original del ordenador por lo que entonces era necesario utilizar cables cruzados. Si en un principio hubiera sido siempre así, todos los equipos con idéntico patillaje, todos los cables serían cruzados y no tendríamos problemas. Pero la realidad es que venimos de donde venimos y todavía hay equipos que los fabrican con el patillaje de módem para los que será necesario un cable no cruzado para conectarlos a un ordenador y un cable cruzado para conectarlos a otro equipo igual a él mismo.