[Solved] Duemilenove: SoftSerial only TX...

Hello everybody,

I want to build a selfbalancing robot.
I changed my setup to a duemilenova, since I fried my leonardo due to a cheap bread board which put 10V on a pin…

Okay, so since Serial1 is gone now, I replaced it with a SoftSerial on pins 2 and 3 on the due.
I have a HC05 BT-Module, which I want to use to command a self-balancing robot.
Right now I’m looking for the correct controller parameters and so I want to be able to change them on the fly.

In TeraTerm I can see the status of the robot, since it sends the information via the TX-Pin to the BT-module, which then sends
it to the computer, where I can have a look at it.

Now I want to change I controller value. Therefore I was using a method which worked on the leonardo (listening on Serial1 for new data, concatenating the bytes and then process the values).
This however does not work, which is why I uploaded this minimum example:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // RX, TX

void setup(){
  Serial.begin(115200);
  mySerial.begin(115200);
}

void loop(){
  if (Serial.available())
    mySerial.write(Serial.read());
  if (mySerial.available())
    Serial.write(mySerial.read());
}

Okay, again I can enter something on the serial monitor of the IDE. This data is received by the module and
then bounced back and so I can see the info on the Com port of the BT-module.

If I enter something in TeraTerm however, lets say the number 15, all I can see in the IDE is:
1šš

it seems as if the number of bytes reveived is correct, but the bytes itself are wrong. This is why my parser cant parse the values
and so I cant change them.

What am I doing wrong? Changing pins doesn’t help…

Btw: I changed to baudrate of the HC05 module to 115200 since 9600 is too slow for the controller to work properly.

If I enter something in TeraTerm however, lets say the number 15, all I can see in the IDE is: 1?š

Just for grins, drop the serial transfer rate... 57600 and try again

it worked!! Unbelievable... really strange behaviour... Now I have to see if 57600 is fast enough for the arduino to do everything in the sampletime of the controller... Edit: yes it does, nice :) :) :)

Thanks a lot!!