AltSoftSerial Library, for an extra serial port. Paul Stoffregen, designer of the Teensy board we stock has an intriguing new Arduino Software Serial library. This one uses the 16 bit timer to do data capture and transmission…
It’s ideal when you need simultaneous data. If you try the example that comes with SoftwareSerial in Arduino 1.0, and type “Goodnight” in the Arduino Serial Monitor, you’ll see what actually comes out of pin 3 at 4800 baud is “Goot”. The characters “dnigh” are lost. The reason is because while SoftwareSerial is sending the letter “G” at 4800, the letters “oodnigh” arrive at 57600 baud. Only “oo” are held in the UART registers. The rest are lost because interrupts were disabled for too long.
Often people misunderstand these problems and falsely attribute them to NewSoftSerial’s inability to keep up with the rapid pace of data. In this example, the failure is actually on the hardware serial reception. NewSoftSerial is easily able to work at 4800 baud, but in doing so it interferes with other things.