I'm just beginning to experiment with serial communications, and I'm confused by the explanation of Software Serial. I would like to do full duplex communications on digital pins other than pins 1/2. The software serial explanation says: "Only data received while Serial.read() is being called will be received. Data received at other times will be lost, since the chip is not "listening".
In full duplex, that's exactly what I want to do. I want to be able to send and receive simultaneously, so that I don't miss anything coming in when I am sending. Is there a way to accomplish that with the Arduino? or do I need another external UART chip? and if so, are there any tutorials about that?
I'll let others take a stab at your softserial question, but just wanted you to know that the new Arduino Mega board has four (yes count them, 4) hardware serial ports that are supported with full duplex interrupt in the Arduino core software.
Thanks, Lefty, but I have a Arduino Duemilanove which only has the one UART on pins 1/2. My assumption is that lots of people would want to have done this (have full duplex on other digital pins), so somebody must have figured it out, so I'm hoping somebody has some suggestions about how to do it.
Why don't you check out the newsoftserial library, I think it's can do full duplex and is interrupt driven. I've not used it but I think it is or about to become that new standard softserial replacing the older one:
Thanks to both Lefty and Mike. Maybe I'll try the NewSoftSerial first since (I guess) it doesn't require any extra hardware. But I also eventually want to try the Philips SC16IS7 IF I can find it in a DIP package - I'm not ready to try surface mount components, and also assuming I can find a place to buy it in the USA - Sparkfun doesn't seem to list it.
Any further hints on sources would be appreciated.