SIM900 GSM shield: How to switch between software and hardware UART

Hello

I am using a Arduino with an integrated GSM shield of open-electronics.org. The board is called GBoard of Iteadstudio (http://imall.iteadstudio.com/special-product/im120411004.html). I am using the new GSM library of open-electronics.org (http://code.google.com/p/gsm-shield-arduino/). The board is running nicely when I set the SIM900 module to software UART.

Now I tried to run the SIM900 module in hardware UART mode. I set the jumpers like in the picture attached (UART hardware mode). But I think I have to change somewhere also PIN settings. In the GSM.cpp file there is the following code.

//De-comment this two lines below if you have the
//first version of GSM GPRS Shield
//#define _GSM_TXPIN_ 4
//#define _GSM_RXPIN_ 5

//De-comment this two lines below if you have the
//second version og GSM GPRS Shield
#define _GSM_TXPIN_ 2
#define _GSM_RXPIN_ 3

I toggled the comments and de-comments, but this was not the right place.

Has anybody an idea how to solve this?

Can someone also explain me, what is the advance/disadvantage when I am using software or hardware UART for the GSM module. Or what is the difference? Is one of both faster?

Thanks a lot in advance.

Felix

The library http://code.google.com/p/gsm-shield-arduino/ use the soft serial to comunicate with SIM900, You should change the soft serial command to hardware serial command More info

Old Shield http://www.open-electronics.org/arduino-gsm-shield/

New shield http://www.open-electronics.org/gsm-gps-shield-for-arduino/

Thank you for your answer.

First I tried, to switch to the MEGA library to use Hardware Serial. I have done this: 1) In the GSM.h decomment Arduino Mega //#define UNO

define MEGA

2) In HWSerial.h decomment Arduino Mega

define MEGA

But it can not compile: SIM900.cpp:143: error: '_tf' was not declared in this scope

The problem is, that "_tf" is only created in GSM.h if it is a UNO: public:

ifdef UNO

WideTextFinder _tf;

endif

I have just seen, that the error is posted here: http://code.google.com/p/gsm-shield-arduino/issues/detail?id=47

Can anybody help me, how I can fix it, to use HardwareSerial with my GBoard?

Hi, I'll test it immediatly