I purchased a GE865 development board from Sparkfun and have it wired to my Arduino (using correct level shifters) so I can read SMS messages. I'm using the pins 0,1 for Tx and Rx (just like they do at GSM playground) for debugging purposes so I can watch what's happening on the Serial Port Monitor. Everything works great, I can download messages all day and parse the data with no problems but I noticed something strange that has me stumped (I'm still a noob so go easy on me). If I use Serial.println to send out any text other than an AT command (for example the number 1185 or random characters) the Telit module appears to ignore every single AT command issued to it from that point on. The only way to break the cycle is to send a Serial.begin again and it seems to reestablish the communication (Serial.flush does not work either) and I can once again issue AT commands with no problems. Now here's the part that makes no sense to me, if I use Serial.print instead of println to send a number or random text and then send an AT command using println (i.e it shows up as kdfjglkjdfgkljAT+CMGL=ALL) the Telit device recognizes the command with no problems and returns the correct data.
So I guess my question is why would the communication be locked out by using a Serial.println and not Serial.print? The Telit module like other modems should disregard the characters until it sees AT (this is demonstrated using Serial.print). I'm totally confused so if anyone has some insight as to why this would happen I appreciate it....thanks.