So would I be able to have 4 separate outputs (1 hardware UART and 3 newsoftserial) and run them all at 31250 baudrate?
If I sent a byte to each one how out of sync would they all be?
e.g.
If did this:
Serial.print(myByte);
MySerial1.print(myByte);
MySerial2.print(myByte);
MySerial3.print(myByte);
How much delay would there be between each byte being sent?
As I understand it serial output is a blocking command, no other serial transmitting can happen while one is outputting a byte. So at that baud rate I would think there would be at least a 300+usec gap between each channel sending it's byte out.
retrolefty is quite correct that the SoftSerial xmits must happen serially. But don't let that deter you. When you connect at 31.250K baud, you don't sign a contract saying that you must transmit bytes at a certain rate. All you agree is that for each byte you DO transmit, its bits will be transmitted at a certain speed. It's perfectly ok to transmit a byte and then wait 24 hours before transmitting another.
Now whoever is listening at the other end may add some requirements, but by default, high baud rates don't necessarily imply high data rates.