Lectura de datos por puerto serial. SoftwareSerial

Buenas a todos, tengo una duda con un proyecto que estoy desarrollando para la universidad, en el cual tengo que recibir datos de un GPS, retenerlos, luego de que termine un temporizador, enviar el último dato recibido, ya que no me encuentro en el laboratorio, compre un CP2102 para usar simuladores de GPS como es el Nemastudio o el Gpsfeed+ para poder transmitir los datos al arduino.
El problema que tengo es que estoy recibiendo los datos, pero en el monitor serial, muestra una cadena de “0” y ya eh echo de todo, pero no logro conseguir resultados, ¿alguien sabe que puede estar pasando? Aquí está el código

#include <MicroNMEA.h>
#include <SoftwareSerial.h>

/// arduino Rx (pin 4) ----  Tx
 //arduino Tx (pin 5) ----  Rx

SoftwareSerial muxNMEA(5,4,true);

void setup()
{
  Serial.begin(4800);  // monitor serial del arduino
  muxNMEA.begin(4800);
  muxNMEA.setTimeout(1000);
// Serial.setTimeout(1000);
 
}
void loop()
{
  char b;
    while(muxNMEA.available())   // revisar si hay mensaje del MUX
  {
      b=muxNMEA.read();
      Serial.print(b);      
  } 
}

La variable “b” ya eh cambiado el tipo de dato a String, int, boolean y float y nada que muestra resultados diferentes, el CP2102 lo probe con un osciloscopio en el laboratorio con uno de los simuladores, si puede ver bien los bits que manda, pero de verdad no logro hacer que muestra la cadena que manda.

Hola:

Busca tutoriales del puerto serie en este foro por Metaconta. Suele estar en la sección del foro Documentación.

Saludos.

Hola jemarqueza,

Puede que ya hayas revisado lo siguente pero pareciera que tienes invertidos los pines rx/tx. Si estas usando el pin 4 como rx y el pin 5 como tx deberias tener algo como:

SoftwareSerial muxNMEA(4,5,true);

Asegurate que el pin rx (4) este conectado al pin TX de tu CP2102 y el pin tx (5) al pin RX de tu CP2102.

-p