Go Down

Topic: Can NewSoftSerial keep up with data @ 115200? (Read 923 times) previous topic - next topic

cappy2112


I'm using an Uno Rev 3, Arduino 023

I've installed newsoftserial, and wrote a short program to look for 1 special character,
coming from a device with a TTL serial output. Both the Uno and the device are set to 115200.

The Uno isn't seeing that special character, but I'm able to see that character echoed into a terminal program.

How does one set the start/stop/parity bits in NewSoftSerial?
Does it just assume 8N1?

razorjack

I was trying to use SoftSerial (arduino 1.0) with BT adapter.
it didn't worked http://arduino.cc/forum/index.php/topic,87723.0.html
if i was sending a lot of bytes (from notebook), less than 50% were correct.
if i was sending bytes with 100ms delays between, ~90-95% bytes were correct.
my BT module was set at 115200,8,1,N

cappy2112


I was trying to use SoftSerial (arduino 1.0) with BT adapter.
it didn't worked http://arduino.cc/forum/index.php/topic,87723.0.html
if i was sending a lot of bytes (from notebook), less than 50% were correct.
if i was sending bytes with 100ms delays between, ~90-95% bytes were correct.
my BT module was set at 115200,8,1,N


I'm referring to NewSoftSerial, which is a replacement (and supposed to be better) than SoftSerial.
(that's what the kind folks on this forum told me).
http://arduiniana.org/libraries/newsoftserial/

Which are you referring to?

extent

NewSoftSerial from 22 was renamed SoftwareSerial in 1.0, and the old SoftwareSerial was removed.

It's been a long time since I've tested it but IIRC I had problems with software serial at 115, and had to back it down to the next slowest speed to get it working completely reliably.

liudr

My experience with software serial is below 38400, mostly works fine but 38400 is too fast for software simulated serials. Use SPI or I2C could get you higher speed but make sure you really need that much data or you can compress the data somewhat before transferring. Say if you transfer an integer and it never changes more than 127 between two data points, you don't have to transfer the entire integer. Just transfer the differential changes will reduce 50% your bandwidth need.

Go Up