user756: At the moment I'm using two softserials to connect to a GPS and an GSM module. 
It seems not possible to have two open software-serials. So I was looking for an solution
After the initial-setup, the GPS module is only needed to be read from; while the GSM module needs to be bidirectional. So:
GPS > listen only
GSM > listen and write

Now I came across the GPS library from Adafruit, which uses an interrupt to receive data. Is this instead of a software serial. Or do I again run into the limitation?
An other solution might be to use the D0 and D1 to attach eg the GPS module. But than I won't be able to see the debug messages in my serial monitor. Is that correct?
Sorry in advance for these n00b questions. But I'm frustrated the things dont work as I want :)
edit 

This is the adafruit GPS board.
And the board with whom it is connected: Gboard
The Sim900 is connected to D2/D3 and the GPS is connected to A2/A3.
D0/D1 are connected to a FTDI breakout board, which is plugged into my USB.


user1155: The solution to your problem might be to combine AltSoftSerial with SoftwareSerial. I haven't done it myself (yet) but I have the same problem as yours.
SoftwareSerial does busy wait for counting time between two bits, so it can't read simultaneously from two ports (some bits could be lost).
AltSoftSerial was created to overcome some of these limitations. It's interrupt-based. Unfortunately, it's harwired for one port (and pins 7 & 8). My understanding is that you can combine it with SoftwareSerial to read from 2 simultaneous ports. Pins 7 & 8 aren't what you need, from the description of the GBoard, but AltSoftSerial is open source, you can change the pin numbers (and possibly some masks) in the source code.
Hope this helps.

user83: Adafruit_GPS.h (line 132-), which is included in Adafruit_GPS.cpp (line 13) refers in turn to the SoftwareSerial library on AVR platform and Arduino IDE version > 100.
#ifdef __AVR__
#if ARDUINO >= 100
    SoftwareSerial *gpsSwSerial;
#else
    NewSoftSerial *gpsSwSerial;
#endif
#endif

This means it uses software serial on an Uno. It also means if your problem is indeed with Software Serial, that is the library to check for bugs / updates or commit a patch to.

756: <p>At the moment I'm using two softserials to connect to a GPS and an GSM module. </p>

<p>It seems not possible to have two open software-serials. So I was looking for an solution</p>

<p>After the initial-setup, the GPS module is only needed to be read from; while the GSM module needs to be bidirectional. So:</p>

<pre><code>GPS &gt; listen only
GSM &gt; listen and write
</code></pre>

<p>Now I came across the <a href="https://github.com/adafruit/Adafruit-GPS-Library" rel="noreferrer">GPS library from Adafruit</a>, which uses an interrupt to receive data. Is this <em>instead</em> of a software serial. Or do I again run into the limitation?</p>

<p>An other solution might be to use the D0 and D1 to attach eg the GPS module. But than I won't be able to see the debug messages in my serial monitor. Is that correct?</p>

<p>Sorry in advance for these n00b questions. But I'm frustrated the things dont work as I want :)</p>

<p><strong>edit</strong>   </p>

<ul>
<li><a href="http://www.adafruit.com/products/746" rel="noreferrer">This is the adafruit GPS board</a>.</li>
<li>And the board with whom it is connected: <a href="http://imall.iteadstudio.com/im120411004.html" rel="noreferrer">Gboard</a></li>
<li>The Sim900 is connected to D2/D3 and the GPS is connected to A2/A3.</li>
<li>D0/D1 are connected to a FTDI breakout board, which is plugged into my USB.</li>
</ul>
 1155: <p>The solution to your problem might be to combine <a href="https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html" rel="nofollow">AltSoftSerial</a> with SoftwareSerial. I haven't done it myself (yet) but I have the same problem as yours.</p>

<p>SoftwareSerial does busy wait for counting time between two bits, so it can't read simultaneously from two ports (some bits could be lost).</p>

<p>AltSoftSerial was created to overcome some of these limitations. It's interrupt-based. Unfortunately, it's harwired for one port (and pins 7 &amp; 8). My understanding is that you can combine it with SoftwareSerial to read from 2 simultaneous ports. Pins 7 &amp; 8 aren't what you need, from the description of the GBoard, but AltSoftSerial is open source, you can change the pin numbers (and possibly some masks) in the source code.</p>

<p>Hope this helps.</p>
 83: <p><a href="https://github.com/adafruit/Adafruit-GPS-Library/blob/master/Adafruit_GPS.h" rel="nofollow"><code>Adafruit_GPS.h</code></a> (line 132-), which is included in <a href="https://github.com/adafruit/Adafruit-GPS-Library/blob/master/Adafruit_GPS.cpp" rel="nofollow"><code>Adafruit_GPS.cpp</code></a> (line 13) refers in turn to the SoftwareSerial library on AVR platform and Arduino IDE version > 100.</p>

<pre><code>#ifdef __AVR__
#if ARDUINO &gt;= 100
    SoftwareSerial *gpsSwSerial;
#else
    NewSoftSerial *gpsSwSerial;
#endif
#endif
</code></pre>

<p>This means it uses software serial on an Uno. It also means if your problem is indeed with Software Serial, that is the library to check for bugs / updates or commit a patch to.</p>
